第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);
}
}
}





浙公网安备 33010602011771号