DEMO
1、简单创个库,如下
2、创建项目
简单创建一个javaweb项目并命好名。
3、接口代码
package com.dao;
import com.domain.User;
public interface UserDao {
public boolean checkLogin(String username, String password);
public boolean checkregist(User user);
}
4、接口实现类
package com.dao.impl;
import com.domain.User;
import com.util.DBUtil;
import com.dao.UserDao;
import java.sql.*;
public class UserDaoImpl implements UserDao {
/**
* 登录
* @param username
* @param password
* @return
*/
public boolean checkLogin(String username, String password){
boolean flag = false;
Connection conn = null;
Statement st = null;
ResultSet rs = null;
ResultSet rz = null;
String sql ="select * from user where uname = '"+ username +"'";
conn = DBUtil.getConnection();
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
while (rs.next()){
if(rs.getString("upassword").equals(password)){
flag = true;
}
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(rs, st, conn);
}
return flag;
}
/**
* 注册
* @param user
* @return
*/
@Override
public boolean checkregist(User user) {
boolean flag = false;
Connection conn = null;
PreparedStatement pst = null;
/*
注册的方法
*/
String sql = "insert into user(uname,upassword) values(?,?)";
conn = DBUtil.getConnection();
try {
pst = conn.prepareStatement(sql);
pst.setString(1,user.getUsername());
pst.setString(2,user.getPassword());
int row = pst.executeUpdate();
if(row>0){
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(pst, conn);
}
return flag;
}
}
5、实体类
package com.domain;
public class User {
protected String username;
protected String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
6、响应相关
登录
package com.servlet;
import com.dao.UserDao;
import com.dao.impl.UserDaoImpl;
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 javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
UserDao ud = new UserDaoImpl();
boolean flag = ud.checkLogin(username, password);
if(flag){
HttpSession session = request.getSession();
session.setAttribute("username", username);
//成功跳转
response.sendRedirect("loginSucceed.jsp");
}else{
//登录失败
response.sendRedirect("loginFailed.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
注册
package com.servlet;
import com.dao.UserDao;
import com.dao.impl.UserDaoImpl;
import com.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;
@WebServlet("/registServlet")
public class RegistServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
UserDao ud = new UserDaoImpl();
User u = new User();
u.setUsername(username);
u.setPassword(password);
boolean flag = ud.checkregist(u);
if(flag){
//注册成功后跳转
response.sendRedirect("login.jsp");
}else{
response.sendRedirect("register.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
7、MySQL连接工具类
package com.util;
import java.sql.*;
public class DBUtil {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/tes";
private static String user = "root";
private static String pwd = "root";
//加载驱动
static{
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//连接对象
public static Connection getConnection(){
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//关闭
public static void close(ResultSet rs, Statement st, Connection conn){
try {
if(rs != null){
rs.close();
}
if(st != null){
st.close();
}
if(conn != null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(PreparedStatement pst, Connection conn){
close(null, pst, conn);
}
}
此处你配置好自己的数据库端口与用户名和密码即可
8、web目录下
8.1、index.jsp
<%--
Created by IntelliJ IDEA.
User: ASUS
Date: 2021/11/29
Time: 22:18
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>首页</title>
</head>
<body>
<h1>网站首页</h1>
<br>
<p><a href="login.jsp">登录</a> <a href="register.jsp">注册</a></p>
</body>
</html>
8.2、login.jsp
下面展示一些 内联代码片
。
<%--
Created by IntelliJ IDEA.
User: ASUS
Date: 2021/11/29
Time: 22:29
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
</head>
<body>
<h1>用户登录</h1>
<form action="${pageContext.request.contextPath}/loginServlet" method="post">
<p>用户名:<input type="test" name="username"></p>
<p>密码:<input type="password" name="password"></p>
<p><input type="submit" value="登录"> <input type="reset" value="重置"></p>
</form>
</body>
</html>
8.3、loginFailed.jsp
下面展示一些 内联代码片
。
<%--
Created by IntelliJ IDEA.
User: ASUS
Date: 2021/11/29
Time: 22:30
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录失败</title>
</head>
<body>
<h1>登录失败!</h1>
<p><a href="login.jsp">重新登录</a></p>
</body>
</html>
8.4、loginSucceed.jsp
<%--
Created by IntelliJ IDEA.
User: ASUS
Date: 2021/11/29
Time: 22:30
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录成功</title>
</head>
<body>
<h1>登录成功,欢迎您:${sessionScope.username}</h1>
</body>
</html>
8.5、register.jsp
<%--
Created by IntelliJ IDEA.
User: ry
Date: 2021/12/1
Time: 10:13
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册</title>
</head>
<body>
<h1>用户注册</h1>
<form action="${pageContext.request.contextPath}/registServlet" method="post">
<p>用户名:<input type="text" name="username"></p>
<p>密码:<input type="password" name="password"></p>
<p><input type="submit" value="注册" onclick="alert('注册成功')"> <input type="reset" value="重置"></p>
<p><a href="login.jsp">登录</a></p>
</form>
</body>
</html>
9、web.xml
下面展示一些 内联代码片
。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
10、相关配置事项
记得启动配置成Tomcat,然后开始配置Tomcat的细节,选择自己电脑上安装的Tomcat的位置,这一步是配置成server;然后配置Deployment Dicrectory,选择到自己项目的web级别页就行其他默认配置;
右键点开项目的project Structure,将所有的SDK配置成1.8,然后语言级别选Lambads 8,其他默认;
web下新增文件夹lib,用来存放我们的MySQL驱动jar包,可自己从网上搜寻下载并复制至此位置;
如果某项引用报错,一般是jar包缺失问题,根据提示下载即可。
检查无报错,试运行,出现连接便成功。