zoukankan      html  css  js  c++  java
  • jsp&servlet初体验——用户登录功能实现

    数据库准备—创建db_login数据库  t_user表

    1、创建web工程

    2、创建用户model   user.java

     1 package com.gxy.model;
     2 
     3 public class User {
     4     private int id;
     5     private String userName;
     6     private String password;
     7     
     8     public User() {
     9         super();
    10     }
    11     
    12     
    13     public User(String userName, String password) {
    14         super();
    15         this.userName = userName;
    16         this.password = password;
    17     }
    18 
    19 
    20     public int getId() {
    21         return id;
    22     }
    23     public void setId(int id) {
    24         this.id = id;
    25     }
    26     public String getUserName() {
    27         return userName;
    28     }
    29     public void setUserName(String userName) {
    30         this.userName = userName;
    31     }
    32     public String getPassword() {
    33         return password;
    34     }
    35     public void setPassword(String password) {
    36         this.password = password;
    37     }
    38 
    39 }

    3、创建util包 Dbutil.java

     1 package com.gxy.util;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 
     6 public class Dbutil {
     7     private String dbUrl ="jdbc:mysql://localhost:3306/db_login";
     8     private String jdbcName="com.mysql.jdbc.Driver";
     9     private String dbUserName="root";
    10     private String dbpassword="123456";
    11     
    12     public Connection getcon() throws Exception{
    13         Class.forName(jdbcName);
    14         Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbpassword);
    15         return con;
    16     }
    17     
    18     public void closeCon(Connection con) throws Exception{
    19         con.close();
    20     }
    21 
    22 }

    4、创建dao包  UserDao.java

     1 package com.gxy.dao;
     2 
     3 import java.sql.Connection;
     4 import java.sql.PreparedStatement;
     5 import java.sql.ResultSet;
     6 
     7 import com.gxy.model.User;
     8 
     9 public class UserDao {
    10     public User login(Connection con,User user) throws Exception{
    11         User resultUser=null;
    12         String sql="select * from t_user where userName=? and passWord=?";
    13         PreparedStatement pst=con.prepareStatement(sql);
    14         pst.setString(1, user.getUserName());
    15         pst.setString(2,user.getPassword());
    16         ResultSet rs=pst.executeQuery();
    17         if(rs.next()){
    18             resultUser=new User();
    19             resultUser.setUserName(rs.getString("userName"));
    20             resultUser.setPassword(rs.getString("passWord"));
    21         }
    22         return resultUser;
    23     }
    24 
    25 }

    5、创建servlet包  loginServlet

     1 package com.gxy.servlet;
     2 
     3 import java.io.IOException;
     4 import java.sql.Connection;
     5 
     6 import javax.servlet.RequestDispatcher;
     7 import javax.servlet.ServletException;
     8 import javax.servlet.http.HttpServlet;
     9 import javax.servlet.http.HttpServletRequest;
    10 import javax.servlet.http.HttpServletResponse;
    11 import javax.servlet.http.HttpSession;
    12 
    13 import com.gxy.dao.UserDao;
    14 import com.gxy.model.User;
    15 import com.gxy.util.Dbutil;
    16 
    17 public class loginServlet extends HttpServlet{
    18 
    19     /**
    20      * 
    21      */
    22     private static final long serialVersionUID = 1L;
    23 
    24     Dbutil dbutil=new Dbutil();
    25     UserDao userDao=new UserDao();
    26     @Override
    27     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    28             throws ServletException, IOException {
    29         this.doPost(req, resp);
    30     }
    31 
    32     @Override
    33     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    34             throws ServletException, IOException {
    35         String userName=req.getParameter("userName");
    36         String passWord=req.getParameter("passWord");
    37         
    38         Connection con=null;
    39         try {
    40             User user=new User(userName,passWord);
    41             con=dbutil.getcon();
    42             User resultUser=userDao.login(con, user);
    43             if(resultUser==null){
    44                 System.out.println("no");
    45             }else{
    46                 HttpSession session=req.getSession();
    47                 session.setAttribute("userName", resultUser.getUserName());
    48                 session.setAttribute("passWord", resultUser.getPassword());
    49                 resp.sendRedirect("target.jsp");
    50             }
    51         } catch (Exception e) {
    52             // TODO Auto-generated catch block
    53             e.printStackTrace();
    54         }
    55         
    56     }
    57 
    58 }

    6、用户登录界面  login.jsp

     1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     2 <%
     3 String path = request.getContextPath();
     4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     5 %>
     6 
     7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     8 <html>
     9   <head>
    10     <base href="<%=basePath%>">
    11     
    12     <title>My JSP 'login.jsp' starting page</title>
    13     
    14     <meta http-equiv="pragma" content="no-cache">
    15     <meta http-equiv="cache-control" content="no-cache">
    16     <meta http-equiv="expires" content="0">    
    17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    18     <meta http-equiv="description" content="This is my page">
    19     <!--
    20     <link rel="stylesheet" type="text/css" href="styles.css">
    21     -->
    22 
    23   </head>
    24   
    25   <body>
    26   <form action="login" method="post">
    27     <table>
    28         <tr>
    29             <td>用户名:</td>
    30             <td><input type="text" id="userName" name="userName"></td>
    31         </tr>
    32         <tr>
    33             <td>密码:</td>
    34             <td><input type="password" id="passWord" name="passWord"></td>
    35         </tr>
    36         <tr>
    37             <td colspan="2"><input type="submit" value="提交" ></td>
    38         </tr>
    39     </table>
    40    </form>
    41   </body>
    42 </html>

    跳转界面  target.jsp

     1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     2 <%
     3 String path = request.getContextPath();
     4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     5 %>
     6 
     7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     8 <html>
     9   <head>
    10     <base href="<%=basePath%>">
    11     
    12     <title>My JSP 'target.jsp' starting page</title>
    13     
    14     <meta http-equiv="pragma" content="no-cache">
    15     <meta http-equiv="cache-control" content="no-cache">
    16     <meta http-equiv="expires" content="0">    
    17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    18     <meta http-equiv="description" content="This is my page">
    19     <!--
    20     <link rel="stylesheet" type="text/css" href="styles.css">
    21     -->
    22 
    23   </head>
    24   
    25   <body>
    26     <h1>用户名:<%=session.getAttribute("userName") %></h1>
    27     <h1>密码:<%=session.getAttribute("passWord") %></h1>
    28   </body>
    29 </html>

    7、运行结果

  • 相关阅读:
    设计模式享元模式实现C++
    并查集
    设计模式代理模式实现C++
    设计模式装饰模式实现C++
    最小生成树Prim算法实现
    图的邻接矩阵存储
    威佐夫博弈(Wythoff Game)初识 HDU 1527 POJ 1067
    设计模式原型模式实现C++
    三种经典博弈问题 BashGame;WythoffGame;NimmGame;
    设计模式外观模式实现C++
  • 原文地址:https://www.cnblogs.com/guoxiangyue/p/8439856.html
Copyright © 2011-2022 走看看