mvc模式实现登录注册功能

1、创建项目

展示项目


2、数据库设计


4、首先写view视图jsp界面:

创建了个文件分别是index.jsp主界面,login.jsp登录界面,insert.jsp注册界面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <a href="Login.jsp">${yonghu}登录</a> <a href="insert.jsp">注册</a> <br> ${msg} </body> </html>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>登录界面</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <center> <h1> 登录界面 </h1> <hr color="blue"> <form action="./login.do"> <input type="hidden" name="methodName" value="0" /> <table border="1px"> <tr> <td> 用户名: </td> <td> <input type="text" name="name" /> </td> </tr> <tr> <td> 密码: </td> <td> <input type="password" name="pass" /> </td> </tr> </table> <input type="submit" value="登录" /> </form> </center> </body> </html>\


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>注册界面</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <center> <h1> 注册界面 </h1> <hr color="blue"> <form action="./login.do"> <input type="hidden" name="methodName" value="1" /> <table border="1px"> <tr> <td> 用户名: </td> <td> <input type="text" name="name" /> </td> </tr> <tr> <td> 密码: </td> <td> <input type="password" name="pass" /> </td> </tr> </table> <input type="submit" value="注册" /> </form> </center> </body> </html> 4、接下来是model层

他那javabean类

package cn.csdn.web.domain; import java.io.Serializable; public class Admin implements Serializable { private Integer id; private String name; private String pass; private String sex; private Integer age; public Admin() { super(); // TODO Auto-generated constructor stub } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
dao接口

package cn.csdn.web.dao; import cn.csdn.web.domain.Admin; public interface AdminDao { boolean select(Admin entity); boolean insert(Admin entity); }
实现类
package cn.csdn.web.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import cn.csdn.web.domain.Admin; public class AdminDaoImpl implements AdminDao { private static Connection conn = null; private PreparedStatement pstmt = null; private ResultSet rs = null; private static final String URL = "jdbc:mysql://localhost:3306/3g?user=root&password=123&useUnicode=true&characterEncoding=UTF-8"; static { try { Class.forName("com.mysql.jdbc.Driver"); try { conn = DriverManager.getConnection(URL); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private void release(ResultSet rs, PreparedStatement pstmt) { if (rs != null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public boolean select(Admin entity) { // 声明返回值变量 boolean flag = false; // 声明sql语句 String sql = "select * from admin where name=? and pass=?"; try { // 创建 pstmt = conn.prepareStatement(sql); // 为占位符赋值 int index = 1; pstmt.setObject(index++, entity.getName()); pstmt.setObject(index++, entity.getPass()); // 执行更新 rs = pstmt.executeQuery(); if (rs.next()) { flag = true; System.out.println("e"); } release(rs, pstmt); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } release(rs, pstmt); // 修改返回值变量 return flag; } public boolean insert(Admin entity) { boolean flag = false; String sql = "insert into admin(name,pass) values(?,?)"; try { pstmt = conn.prepareStatement(sql); int index = 1; pstmt.setObject(index++, entity.getName()); pstmt.setObject(index++, entity.getPass()); int i = pstmt.executeUpdate(); if (i > 0) { flag = true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } release(rs, pstmt); return flag; } }
5、最后是control层package cn.csdn.web.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.csdn.web.dao.AdminDao; import cn.csdn.web.dao.AdminDaoImpl; import cn.csdn.web.domain.Admin; public class LoginServlet extends HttpServlet { private AdminDao aDao = new AdminDaoImpl(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String method = request.getParameter("methodName"); if (method.equals("0")) { select(request, response); request.getRequestDispatcher("./index.jsp").forward(request, response); } else if (method.equals("1")) { insert(request, response); request.getRequestDispatcher("./index.jsp").forward(request, response); } else { System.out.println("大大大失败"); } } public void select(HttpServletRequest request, HttpServletResponse response) { String name = request.getParameter("name"); String pass = request.getParameter("pass"); Admin entity = new Admin(); entity.setName(name); entity.setPass(pass); boolean flag = aDao.select(entity); if (flag) { System.out.println("登录成功"); request.setAttribute("yonghu", name); request.setAttribute("msg", "登录成功"); } else { System.out.println("登录失败"); } } public void insert(HttpServletRequest request, HttpServletResponse response) { String name = request.getParameter("name"); String pass = request.getParameter("pass"); Admin entity = new Admin(); entity.setName(name); entity.setPass(pass); boolean flag = aDao.insert(entity); if (flag) { System.out.println("注册成功"); } else { System.out.println("注册失败"); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值