• 基于servlet及jsp的登陆注册mvc框架


    一共建了5个包,分别是

    com.etc.dao;

    com.etc.dao.impl;

    com.etc.model;

    com.etc.service;

    com.etc.servlet

    DBConnectionFactory
     1 package com.etc.dao;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.SQLException;
     6 
     7 public class DBConnectionFactory {
     8 
     9     
    10     public static Connection getConnection()
    11     {
    12         Connection conn = null;
    13         try {
    14             Class.forName("com.mysql.jdbc.Driver");
    15             try {
    16                 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/kaijie", "root", "123");
    17                 
    18                 
    19             } catch (SQLException e) {
    20                 // TODO Auto-generated catch block
    21                 e.printStackTrace();
    22             }
    23         } catch (ClassNotFoundException e) {
    24             // TODO Auto-generated catch block
    25             e.printStackTrace();
    26         }
    27         return conn;
    28     }
    29 }
    UserDaoImpl
     1 package com.etc.dao.impl;
     2 
     3 import java.sql.Connection;
     4 import java.sql.PreparedStatement;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 
     8 import com.etc.dao.DBConnectionFactory;
     9 import com.etc.model.User;
    10 
    11 public class UserDaoImpl {
    12 
    13     Connection conn = DBConnectionFactory.getConnection();
    14     
    15     public User getUserByUname(String uname)
    16     {
    17         User u = null;
    18         String sql = "select * from users where username=?";
    19         try {
    20             PreparedStatement pstmt = conn.prepareStatement(sql);
    21             pstmt.setString(1, uname);
    22             ResultSet rs = pstmt.executeQuery();
    23             while(rs.next())
    24             {
    25                 u = new User(rs.getString(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getString(5), rs.getString(6));
    26             }
    27         } catch (SQLException e) {
    28             // TODO Auto-generated catch block
    29             e.printStackTrace();
    30         }
    31         return u;
    32     }
    33     
    34     public void insert(User user) 
    35     {
    36         String sql = "insert into users values(?,?,?,?,?,?)";
    37         try {
    38             PreparedStatement pstmt = conn.prepareStatement(sql);
    39             pstmt.setString(1, user.getUsername());
    40             pstmt.setString(2, user.getPassword());
    41             pstmt.setString(3, user.getSex());
    42             pstmt.setInt(4, user.getAge());
    43             pstmt.setString(5, user.getAddress());
    44             pstmt.setString(6, user.getPhone());
    45             pstmt.executeUpdate();
    46         } catch (SQLException e) {
    47             // TODO Auto-generated catch block
    48             e.printStackTrace();
    49         }
    50     }
    51     
    52     public User getUserByUnamePwd(String uname, String upwd)
    53     {
    54         User u = null;
    55         String sql = "select * from users where username=? and password = ?";
    56         try {
    57             PreparedStatement pstmt = conn.prepareStatement(sql);
    58             pstmt.setString(1, uname);
    59             pstmt.setString(2, upwd);
    60             ResultSet rs = pstmt.executeQuery();
    61             while(rs.next())
    62             {
    63                 u = new User(rs.getString(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getString(5), rs.getString(6));
    64             }
    65         } catch (SQLException e) {
    66             // TODO Auto-generated catch block
    67             e.printStackTrace();
    68         }
    69         return u;
    70     }
    71 }
    User
     1 package com.etc.model;
     2 
     3 public class User {
     4 
     5     private String username;
     6     private String password;
     7     private String sex;
     8     private int age;
     9     private String address;
    10     private String phone;
    11     public String getUsername() {
    12         return username;
    13     }
    14     public void setUsername(String username) {
    15         this.username = username;
    16     }
    17     public String getPassword() {
    18         return password;
    19     }
    20     public void setPassword(String password) {
    21         this.password = password;
    22     }
    23     public String getSex() {
    24         return sex;
    25     }
    26     public void setSex(String sex) {
    27         this.sex = sex;
    28     }
    29     public int getAge() {
    30         return age;
    31     }
    32     public void setAge(int age) {
    33         this.age = age;
    34     }
    35     public String getAddress() {
    36         return address;
    37     }
    38     public void setAddress(String address) {
    39         this.address = address;
    40     }
    41     public String getPhone() {
    42         return phone;
    43     }
    44     public void setPhone(String phone) {
    45         this.phone = phone;
    46     }
    47     public User(String username, String password, String sex, int age,
    48             String address, String phone) {
    49         super();
    50         this.username = username;
    51         this.password = password;
    52         this.sex = sex;
    53         this.age = age;
    54         this.address = address;
    55         this.phone = phone;
    56     }
    57     public User() {
    58         super();
    59     }
    60     public User(String username, String password) {
    61         super();
    62         this.username = username;
    63         this.password = password;
    64     }
    65     
    66     
    67 }
    UserService
     1 package com.etc.service;
     2 
     3 import com.etc.dao.impl.UserDaoImpl;
     4 import com.etc.model.User;
     5 
     6 public class UserService {
     7 
     8     UserDaoImpl udi = new UserDaoImpl();
     9     public boolean register(User u)
    10     {
    11         User user = udi.getUserByUname(u.getUsername());
    12         if (user == null) {
    13             udi.insert(u);
    14             return true;
    15         } else {
    16             return false;
    17         }
    18     }
    19     
    20     public boolean login(User u)
    21     {
    22         User u1 = udi.getUserByUname(u.getUsername());
    23         User u2 = udi.getUserByUnamePwd(u.getUsername(), u.getPassword());
    24         if(u1 == null)
    25         {
    26             return false;//该用户名不存在
    27         }
    28         else
    29         {
    30             if(u2 == null)
    31             {
    32                 return false;//密码错误
    33             }
    34             else
    35             {
    36                 return true;
    37             }
    38         }
    39     }
    40 }
    LoginServlet
     1 package com.etc.servlet;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 import com.etc.model.User;
    11 import com.etc.service.UserService;
    12 
    13 public class LoginServlet extends HttpServlet {
    14 
    15     @Override
    16     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    17             throws ServletException, IOException {
    18         // TODO Auto-generated method stub
    19         doPost(req, resp);
    20     }
    21     
    22     @Override
    23     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    24             throws ServletException, IOException {
    25         // TODO Auto-generated method stub
    26         resp.setContentType("text/html,charset=UTF-8");
    27         req.setCharacterEncoding("UTF-8");
    28         
    29         String uname = req.getParameter("username");
    30         String upwd = req.getParameter("password");
    31         User u = new User(uname, upwd);
    32         UserService us = new UserService();
    33         boolean flag = us.login(u);
    34         if(flag)
    35         {
    36             req.getRequestDispatcher("welcome.jsp").forward(req, resp);
    37         }
    38         else
    39         {
    40             req.setAttribute("error", "密码错误");
    41             //resp.sendRedirect("login.jsp");
    42             req.getRequestDispatcher("login.jsp").forward(req, resp);
    43             
    44         }
    45     }
    46 }
    RegisterServlet
     1 package com.etc.servlet;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 import com.etc.model.User;
    11 import com.etc.service.UserService;
    12 
    13 public class RegisterServlet extends HttpServlet {
    14 
    15     @Override
    16     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    17             throws ServletException, IOException {
    18         // TODO Auto-generated method stub
    19         doPost(req, resp);
    20     }
    21     
    22     @Override
    23     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    24             throws ServletException, IOException {
    25         // TODO Auto-generated method stub
    26         resp.setContentType("text/html,charset=UTF-8");
    27         req.setCharacterEncoding("UTF-8");
    28         
    29         String uname = req.getParameter("username");
    30         String upwd = req.getParameter("password");
    31         String usex = req.getParameter("sex");
    32 //System.out.println(usex);
    33         int uage = Integer.parseInt(req.getParameter("age"));
    34         String uaddr = req.getParameter("address");
    35         String uphone = req.getParameter("phone");
    36         
    37         User u = new User(uname, upwd, usex, uage, uaddr, uphone);
    38         
    39         UserService us = new UserService();
    40         boolean flag = us.register(u);
    41         if(flag)
    42         {
    43             resp.sendRedirect("login.jsp");
    44         }
    45         else
    46         {
    47 //System.out.println("该用户名已存在,请重新注册!");
    48             req.setAttribute("error", "用户名已存在");
    49             req.getRequestDispatcher("register.jsp").forward(req, resp);
    50         }
    51     }
    52 }
    login.jsp
     1 <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
     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>登录页面</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   <% String info = (String) request.getAttribute("error");  
    27 if(info!=null){
    28 out.println("<span style='font-size:20px;color:red'>"+info+"</span>");
    29 }%>
    30   <h3 align="center">登录</h3>
    31     <hr>
    32     <form action="login" method="post">
    33     <table align="center"  border="1">
    34         <tr>
    35             <td>用户名:</td>
    36             <td><input type="text" name = "username"/></td>
    37         </tr>
    38          <tr>
    39             <td>密码:</td>
    40             <td><input type="password" name = "password"/></td>
    41         </tr>
    42         <tr>
    43             <td colspan="2">
    44                 <input type="submit" name="submit" value="登录"/>
    45                 <input type="reset" name="reset" value="重置"/>
    46                 <a href = "register.jsp" name="register">注册</a>
    47             </td>
    48         </tr>
    49     </table>
    50     </form>
    51   </body>
    52 </html>
    register.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>注册页面</title>
    13     <meta http-equiv="pragma" content="no-cache">
    14     <meta http-equiv="cache-control" content="no-cache">
    15     <meta http-equiv="expires" content="0">    
    16     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    17     <meta http-equiv="description" content="This is my page">
    18     <!--
    19     <link rel="stylesheet" type="text/css" href="styles.css">
    20     -->
    21   </head>
    22   
    23   <body>
    24     <% String info = (String) request.getAttribute("error");  
    25 if(info!=null){
    26 out.println("<span style='font-size:20px;color:red'>"+info+"</span>");
    27 }%>
    28     
    29     <h3 align="center">注册</h3>
    30     <hr>
    31     <form action="register" method="post">
    32     <table align="center"  border="1">
    33         <tr>
    34             <td>用户名:</td>
    35             <td><input type="text" name = "username"/></td>
    36         </tr>
    37          <tr>
    38             <td>密码:</td>
    39             <td><input type="password" name = "password"/></td>
    40         </tr>
    41         <tr>
    42             <td>性别:</td>
    43             <td>
    44                 <input type="radio" name = "sex" checked="checked" value="男"/>45                 <input type="radio" name = "sex" value="女"/>46             </td>
    47         </tr>
    48         <tr>
    49             <td>年龄:</td>
    50             <td><input type="text" name = "age"/></td>
    51         </tr>
    52         <tr>
    53             <td>家庭住址:</td>
    54             <td><input type="text" name = "address"/></td>
    55         </tr>
    56         <tr>
    57             <td>联系电话:</td>
    58             <td><input type="text" name = "phone"/></td>
    59         </tr>
    60         <tr>
    61             <td colspan="2" align="center">
    62                 <input type="submit" name="submit" value="注册"/>
    63                 <input type="reset" name="reset" value="重置"/>         
    64             </td>
    65         </tr>
    66     </table>
    67     </form>
    68  </body>
    69 </html>
    welcome.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>欢迎页面</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     欢迎您!<%=request.getParameter("username") %><br>
    27   </body>
    28 </html>
    web.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7     
     8     <servlet>
     9         <servlet-name>RegisterServlet</servlet-name>
    10         <servlet-class>com.etc.servlet.RegisterServlet</servlet-class>
    11     </servlet>
    12     
    13     <servlet-mapping>
    14         <servlet-name>RegisterServlet</servlet-name>
    15         <url-pattern>/register</url-pattern>
    16     </servlet-mapping>
    17     
    18     <servlet>
    19         <servlet-name>LoginServlet</servlet-name>
    20         <servlet-class>com.etc.servlet.LoginServlet</servlet-class>
    21     </servlet>
    22     
    23     <servlet-mapping>
    24         <servlet-name>LoginServlet</servlet-name>
    25         <url-pattern>/login</url-pattern>
    26     </servlet-mapping>
    27 </web-app>
  • 相关阅读:
    class 关键字
    自适应Web主页
    前端跨域解决
    HTML5新增特性
    HTTP知识点【总结篇】
    针对Web应用的【攻击模式篇】
    HTTPS和HTTP
    HTTP状态码之【整理篇】
    SpringCloud配制eureka
    maven连接国内仓库
  • 原文地址:https://www.cnblogs.com/dhg1003/p/2727694.html
Copyright © 2020-2023  润新知