21xrx.com
2024-11-05 20:41:13 Tuesday
登录
文章检索 我的文章 写文章
《Java程序设计实训鉴定表:学习Java程序设计必备工具》
2023-06-16 10:58:04 深夜i     --     --
Java程序设计 JavaWeb Servlet

随着互联网的普及和发展,Java作为一种跨平台的编程语言,在计算机专业中越来越受到重视。为了提高Java程序设计学习者的实际能力和综合素质,许多高校都会开设Java程序设计实训课程。而Java程序设计实训鉴定表则是为了衡量这些学习者在实训中的学习成果,考核他们的Java编程技能、代码质量和解决问题的能力。

Java程序设计实训鉴定表通常由若干个小项目组成,每个小项目包含一个具体的需求和相应的实现细节。学习者需要按照要求,编写代码,实现相应的功能。每个小项目都有相应的分值,总分就是所有小项目分值的累积。最后,根据得分情况,给予学习者相应的评价。

在实际的Java程序设计实训中,学习者需要掌握Java基本语法、常用的API和工具的使用。以常见的JavaWeb实训为例,学习者需要熟练掌握Servlet、JSP、JDBC、STRUTS2等技术,并能够使用Tomcat、MySQL等开源软件,完成一个类似于图书馆管理系统、在线商城等应用的开发。而在实现过程中,需要运用Java的面向对象思想和常见的设计模式,保证代码的可读性、可维护性和可扩展性。

以下是一个简单的JavaWeb小项目,实现用户登录和注册的功能,供读者参考。

项目需求:

1.实现用户注册功能,包括用户名、密码、性别、生日、手机号等信息,并将注册信息保存到数据库中;

2.实现用户登录功能,用户输入用户名和密码,验证用户信息是否正确,如果正确,则跳转到主界面;

3.在主界面中,显示用户的基本信息,并提供注销功能。

代码实现:

1.注册功能:


public class RegisterServlet extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String username = request.getParameter("username");

    String password = request.getParameter("password");

    String gender = request.getParameter("gender");

    String birthday = request.getParameter("birthday");

    String phone = request.getParameter("phone");

    //将用户信息保存到数据库中

    Connection conn = null;

    PreparedStatement pstmt = null;

    try{

      //连接数据库

      Class.forName("com.mysql.jdbc.Driver");

      conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false","root","123456");

      String sql ="insert into user(username,password,gender,birthday,phone) values (?,?,?,?,?)";

      pstmt = conn.prepareStatement(sql);

      pstmt.setString(1,username);

      pstmt.setString(2,password);

      pstmt.setString(3,gender);

      pstmt.setString(4,birthday);

      pstmt.setString(5,phone);

      pstmt.executeUpdate();

      //重定向到登录页面

      response.sendRedirect(request.getContextPath()+"/login.jsp");

    }catch(Exception e){

      e.printStackTrace();

    }finally{

      try{

        if(pstmt!=null){

          pstmt.close();

        }

        if(conn!=null){

          conn.close();

        }

      }catch(SQLException e){

        e.printStackTrace();

      }

    }

  }

}

2.登录功能:


public class LoginServlet extends HttpServlet {

  public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

    String username = request.getParameter("username");

    String password = request.getParameter("password");

    //验证用户信息是否正确

    Connection conn = null;

    PreparedStatement pstmt = null;

    ResultSet rs = null;

    try{

      //连接数据库

      Class.forName("com.mysql.jdbc.Driver");

      conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false","root","123456");

      String sql ="select * from user where username=? and password=? ";

      pstmt = conn.prepareStatement(sql);

      pstmt.setString(1,username);

      pstmt.setString(2,password);

      rs = pstmt.executeQuery();

      if(rs.next()){

        //设置Session

        HttpSession session = request.getSession();

        session.setAttribute("username",username);

        //重定向到主页面

        response.sendRedirect(request.getContextPath()+"/index.jsp");

      }else{

        //登录失败

        response.sendRedirect(request.getContextPath()+"/login.jsp");

      }

    }catch(Exception e){

      e.printStackTrace();

    }finally{

      try{

        if(rs!=null){

          rs.close();

        }

        if(pstmt!=null){

          pstmt.close();

        }

        if(conn!=null){

          conn.close();

        }

      }catch(SQLException e){

        e.printStackTrace();

      }

    }

  }

}

3.显示用户信息和注销功能:


public class UserInfoServlet extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    HttpSession session = request.getSession();

    String username = (String) session.getAttribute("username");

    PrintWriter out=response.getWriter();

    Connection conn = null;

    PreparedStatement pstmt = null;

    ResultSet rs = null;

    try{

      //连接数据库

      Class.forName("com.mysql.jdbc.Driver");

      conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false","root","123456");

      String sql ="select * from user where username=?";

      pstmt = conn.prepareStatement(sql);

      pstmt.setString(1,username);

      rs = pstmt.executeQuery();

      if(rs.next()){

        String gender = rs.getString("gender");

        String birthday = rs.getString("birthday");

        String phone = rs.getString("phone");

        out.print(" 用户信息");

        out.print("

用户名:"+username+"

");

        out.print("

性别:"+gender+"

");

        out.print("

生日:"+birthday+"

");

        out.print("

电话:"+phone+"

");

        out.print("注销");

        out.print("");

      }

    }catch(Exception e){

      e.printStackTrace();

    }finally{

      try{

        if(rs!=null){

          rs.close();

        }

        if(pstmt!=null){

          pstmt.close();

        }

        if(conn!=null){

          conn.close();

        }

      }catch(SQLException e){

        e.printStackTrace();

      }

    }

  }

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复