目录结构
前台页面:
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--${requestScope.defale}--%>
<form action="login" method="post">
用户名: <input type="text" name="username"><br>
密码: <input type="text" name="password"> <br>
<input type="submit" value="登陆">
</form>
<a href="register.jsp">点此注册</a>
<script>
if(${requestScope.index==1}){
alert("${requestScope.defale}");
}
</script>
</body>
</html>
register.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %>
<html>
<head>
<title>Title</title>
</head>
<script>
if (${requestScope.index==1}){
alert("${requestScope.sussce}");
}
</script>
<body>
<form action="register" method="post">
账号: <input type="text" name="username"><br>
密码: <input type="text" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
check.jsp
<%@ page contentType="text/html;charset=UTF-8;" language="java" pageEncoding="UTF-8" %>
<html>
<head>
<title>Title</title>
</head>
<body>
欢迎光临 <br>
<% String username = request.getParameter("username");
String password = request.getParameter("password");%>
用户名:<%=username%> <br>
密码:<%=password%>
<br>
${requestScope.sussce}
</body>
</html>
后台java代码
dao:
LoginDao
import DButil.JDBCUtils;
import domain.user;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import java.sql.SQLException;
public class LoginDao {
public user login(String username, String password) throws SQLException {
QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());
String sql = "select * from user where username=? and password=?";
user query = queryRunner.query(sql, new BeanHandler<user>(user.class), username, password);
System.out.println(query);
return query;
}
}
RegisterDao
import DButil.JDBCUtils;
import domain.user;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import java.sql.SQLException;
public class RegisterDao {
public boolean register(String username, String password) throws SQLException {
QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());
String sql1 ="select * from user where username=?";
user query = queryRunner.query(sql1, new BeanHandler<user>(user.class), username);
if (query!=null){
System.out.println("插入失败");
return false;
}
else{
String sql2="insert into user values (?,?)";
int update = queryRunner.update(sql2, username, password);
if (update!=0){
System.out.println("插入成功");
return true;
}
}
return false;
}
}
domain(实体类):
public class user {
private String username;
private String password;
@Override
public String toString() {
return "user{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
servlet:
Servletlogin
import dao.LoginDao;
import domain.user;
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.SQLException;
@WebServlet(name = "Servletlogin")
public class Servletlogin extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置输出编码方式
response.setCharacterEncoding("gb2312");
//设置接受编码方式
request.setCharacterEncoding("utf8");
//1.获得值
String username = request.getParameter("username");
String password = request.getParameter("password");
//2.判断
LoginDao logindao = new LoginDao();
user query = null;
try {
//查找此人
query = logindao.login(username, password);
} catch (SQLException e) {
e.printStackTrace();
}
//3.判断结果
if (query != null) {
//01.找到此人
//请求转发
request.setAttribute("sussce","成功");
request.getRequestDispatcher("check.jsp").forward(request, response);
} else {
//02.没找到此人
//请求转发
request.setAttribute("defeat","账号名或密码错误");
request.setAttribute("index",1);
request.getRequestDispatcher("index.jsp").forward(request, response);
//response.sendRedirect("index.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
Servletregister
import dao.RegisterDao;
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.SQLException;
@WebServlet(name = "Servletregister")
public class Servletregister extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("gb2312");
//1.获得值
String username = request.getParameter("username");
String password = request.getParameter("password");
//2.判断是否重复,如果不重复就注册
RegisterDao registerDao = new RegisterDao();
boolean b=false;
try {
b = registerDao.register(username,password);
} catch (SQLException e) {
e.printStackTrace();
}
if (b){
//成功注册
//请求转发
request.setAttribute("index",1);
request.setAttribute("sussce","注册成功");
request.getRequestDispatcher("check.jsp").forward(request, response);
}
else{
//注册失败
//请求转发
request.setAttribute("index",1);
request.setAttribute("sussce","注册失败");
request.getRequestDispatcher("register.jsp").forward(request, response);
//response.sendRedirect("register.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
web.xml
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 登陆 -->
<servlet>
<servlet-name>Servletlogin</servlet-name>
<servlet-class>servlet.Servletlogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servletlogin</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<!-- 注册 -->
<servlet>
<servlet-name>Servletregister</servlet-name>
<servlet-class>servlet.Servletregister</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servletregister</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
</web-app>
pom.xml
<!--servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<!--连接池-->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.8</version>
</dependency>
```