文章申明:原文章为java jsp+servlet+mysql实现登录网页设计,经阅读后重新编写了其中的代码
开发框架:IntelliJ IDEA 2017.2+Maven+Tomcat 8.0+MySQL V5.7
共涉及到下面几个文件:
1、Maven配置文件 pom.xml
2、servlet 处理类 LoginTestServlet.java
3、登录页面 login.jsp
4、成功跳转页面 success.jsp
5、失败跳转页面 fail.jsp
6、配置文件 web.xml
---------------------------------文章正文,请依次阅读------------------------------
- pom.xml内容
4.0.0
com.ken
Login
war
1.0-SNAPSHOT
Login Maven Webapp
http://maven.apache.org
org.testng
testng
6.8
test
mysql
mysql-connector-java
5.1.42
Login
org.apache.maven.plugins
maven-compiler-plugin
1.7
1.7
- LoginTestServlet.java内容
package com.ken;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.Objects;
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 com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/**
* Servlet implementation class LoginTestServlet
* @Description java+mysql+tomcat实现登录
* @author xukui
* @date 2017-7-22 21:22:11
*/
@WebServlet("/LoginTestServlet")
public class LoginTestServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginTestServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse respone)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
String result;
String username = request.getParameter("username");
String psw = request.getParameter("password");
if (Objects.equals("", username) || username == null || username.length() > 20) {
try {
result = "请输入用户名(不能超过20个字符)";
request.setAttribute("message", result);
response.sendRedirect("login.jsp");
return;
} catch (Exception e) {
e.printStackTrace();
}
}
if (Objects.equals("", psw) || psw == null || psw.length() > 20) {
try {
result = "请输入密码(不能超过20个字符)";
request.setAttribute("message", result);
response.sendRedirect("login.jsp");
return;
} catch (Exception e) {
e.printStackTrace();
}
}
//登记JDBC驱动程序
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.print("Class Not Found Exception");
}
//链接URL
String url = "jdbc:mysql://localhost:3306/study";
Connection connection;
Statement statement;
ResultSet resultSet = null;
try {
connection = (Connection) DriverManager.getConnection(url, "root", "root567~");
statement = (Statement) connection.createStatement();
String sql = "select * from userInfo where username = '"+username+"' and userpsw = '"+psw+"'";
resultSet = statement.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
}
HttpSession session = request.getSession();
session.setAttribute("username", username);
try {
assert resultSet != null;
if (resultSet.next()) {
session.setAttribute("age", resultSet.getString("age"));
session.setAttribute("sex", resultSet.getString("sex"));
session.setAttribute("weight", resultSet.getString("weight"));
response.sendRedirect("success.jsp");
} else {
session.setAttribute("message", "用户名或密码不匹配。");
response.sendRedirect("fail.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
- login.jsp内容
<%--
Created by IntelliJ IDEA.
User: xukui
Date: 2017/7/22
Time: 21:49
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" %>
用户登录
- success.jsp内容
<%--
Created by IntelliJ IDEA.
User: xukui
Date: 2017/7/22
Time: 21:50
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" %>
登录成功
<%
String username = (String) session.getAttribute("username");
String age = (String) session.getAttribute("age");
String weight = (String) session.getAttribute("weight");
String sex = (String) session.getAttribute("sex");
System.out.println("性别:A" + sex + "A");
if (sex.trim().equals("M")) {
sex = "男";
} else {
sex = "女";
}
%>
- fail.jsp内容
<%--
Created by IntelliJ IDEA.
User: xukui
Date: 2017/7/22
Time: 21:50
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8"%>
登录失败
<%
String username = (String) session.getAttribute("username");
String msg = (String) session.getAttribute("message");
%>
<%=username%>
对不起,登录失败!
<%=msg%>
5秒后将返回登录界面
<%
response.setHeader("Refresh", "5;URL=/Login/login.jsp");
%>
- web.xml内容
Archetype Created Web Application
index.html
index.htm
login.jsp
default.html
default.jsp
LoginTestServlet
com.ken.LoginTestServlet
LoginTestServlet
/loginTestServlet
- 对应的数据库和表
CREATE DATABASE study;
CREATE TABLE userInfo (
id INT NOT NULL PRIMARY KEY,
username CHAR(20) NOT NULL,
userpsw CHAR(20),
age INT,
weight INT,
sex ENUM('M', 'F')
);
- 附上运行后的效果