第10周jsp作业
数据库test 中建个表 stu(stuid 主键 自动增长 ,用户名,密码,年龄)
1.设计一个注册页面,实现用户注册功能
2.设计一个登陆页面,实现用户名密码登陆
3.两个页面可以互相超链接
<%-- Created by IntelliJ IDEA. User: 86183 Date: 2022/5/8 Time: 18:56 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="/test1/login" method="post"> 用户名 <input type="text" name="name" maxlength="6"/><br/><br/> 密码 <input type="password" name="password" size="40"/><br/><br/> <input type="submit" value="登录"/> </form> <a href="${pageContext.request.contextPath}/work1/register.jsp">进入注册 </a> <hr> ${requestScope.flag} </body> </html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="/test1/register" method="post"> 用户名 <input type="text" name="name" maxlength="16"/><br/><br/> 密码 <input type="password" name="password" size="40"/><br/><br/> 年龄 <input type="number" name="age"><br/><br/> <input type="submit" value="注册"> </form> <a href="${pageContext.request.contextPath}/work1/login.jsp" >进入登录</a> </body> </html>
<%-- Created by IntelliJ IDEA. User: 86183 Date: 2022/5/8 Time: 19:13 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h2> 登录成功! </h2> </body> </html>
<html> <head> <title>Title</title> </head> <body> <h2>异常错误</h2> </body> </html>
package Stu; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.*; @WebServlet("/login") public class Login extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String name = req.getParameter("name"); String password = req.getParameter("password"); String driver = "com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/bjpowernode?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"; String user = "root"; String pwd = "143520"; Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; boolean flag = false; try { Class.forName(driver); connection = DriverManager.getConnection(url, user, pwd); String sql = "select * from stu where name = ? and password = ? "; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, name); preparedStatement.setString(2, password); resultSet = preparedStatement.executeQuery(); if (resultSet.next()) { flag = true; }else { flag = false; } } catch (SQLException | ClassNotFoundException throwables) { throwables.printStackTrace(); } finally { if (resultSet != null) { try { resultSet.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (preparedStatement != null){ try { preparedStatement.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } if (flag) { req.getRequestDispatcher("/work1/Interface.jsp").forward(req,resp); }else { req.setAttribute("flag", "您的用户名或者密码错误"); req.getRequestDispatcher("/work1/login.jsp").forward(req,resp); } } }
package Stu; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.*; @WebServlet("/register") public class Register extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String name = req.getParameter("name"); String password = req.getParameter("password"); String age = req.getParameter("age"); String driver = "com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/bjpowernode?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"; String user = "root"; String pwd = "143520"; Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; int count = 0; try { Class.forName(driver); connection = DriverManager.getConnection(url, user, pwd); String sql = "insert into stu (name, password, age) values (?,?,?) "; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, name); preparedStatement.setString(2, password); preparedStatement.setInt(3, Integer.valueOf(age)); count = preparedStatement.executeUpdate(); } catch (SQLException | ClassNotFoundException throwables) { throwables.printStackTrace(); } finally { if (resultSet != null) { try { resultSet.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (preparedStatement != null){ try { preparedStatement.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } if (count == 0) { req.getRequestDispatcher("/work1/error.jsp").forward(req,resp); }else { req.getRequestDispatcher("/work1/login.jsp").forward(req,resp); } } }
ackage Stu; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.*; @WebServlet("/login") public class Login extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String name = req.getParameter("name"); String password = req.getParameter("password"); String driver = "com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/bjpowernode?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"; String user = "root"; String pwd = "143520"; Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; boolean flag = false; try { Class.forName(driver); connection = DriverManager.getConnection(url, user, pwd); String sql = "select * from stu where name = ? and password = ? "; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, name); preparedStatement.setString(2, password); resultSet = preparedStatement.executeQuery(); if (resultSet.next()) { flag = true; }else { flag = false; } } catch (SQLException | ClassNotFoundException throwables) { throwables.printStackTrace(); } finally { if (resultSet != null) { try { resultSet.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (preparedStatement != null){ try { preparedStatement.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } if (flag) { req.getRequestDispatcher("/work1/Interface.jsp").forward(req,resp); }else { req.setAttribute("flag", "您的用户名或者密码错误"); req.getRequestDispatcher("/work1/login.jsp").forward(req,resp); } } }