赞
踩
文章申明:原文章为java jsp+servlet+mysql实现登录网页设计,经阅读后重新编写了其中的代码开发框架
IDE:Eclipse Java EE,Servers:Tomcat 8.0, DataBase:MySQL V5.7
涉及下面几个文件:
1、登录页面 login.jsp
2、成功跳转页面 success.jsp
3、失败跳转页面 fail.jsp
4、servlet 处理类 LoginTestServlet.java
5、配置文件 web.xml
-------------------------------------文章正文,请依次阅读------------------------------------------
LoginTestServlet.java内容
package com.study; import java.io.IOException; import java.sql.DriverManager; import java.sql.ResultSet; 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 Ken * @date 2017-7-16 19:44:48 */ @WebServlet("/LoginTestServlet") public class LoginTestServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginTestServlet() { super(); } /** * @see HttpServlet#doGet(HttpServletRequest requset, HttpServletResponse response) */ 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(username == "" || username == null || username.length() > 20) { try { result = "请输入用户名(不能超过20个字符)"; request.setAttribute("message", result); response.sendRedirect("login.jsp"); return; } catch (Exception e) { e.printStackTrace(); } } if(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 conn = null; Statement stmt = null; ResultSet rs = null; try { conn = (Connection) DriverManager.getConnection(url,"root", "root567~"); stmt = (Statement) conn.createStatement(); String sql = "select * from userInfo where username='"+username+"' and userpsw= '"+psw+"'"; rs = stmt.executeQuery(sql); } catch (Exception e) { e.printStackTrace(); } HttpSession session = request.getSession(); session.setAttribute("username", username); try { if(rs.next()) { session.setAttribute("age", rs.getString("age")); session.setAttribute("sex", rs.getString("sex")); session.setAttribute("weight", rs.getString("weight")); response.sendRedirect("success.jsp"); } else { session.setAttribute("message", "用户名或密码不匹配。"); response.sendRedirect("fail.jsp"); return; } } catch (Exception e) { e.printStackTrace(); } } }
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>用户登录</title>
- </head>
- <body>
- <form action="LoginTestServlet" name="frmLogin" method="post">
- <h1 align="center">用户登录</h1>
- <center>
- <table border="1">
- <tr>
- <td>用户名:</td>
- <td>
- <input type="text" name="username" value="" size="20" maxlength="20"
- οnfοcus="if (this.value=='Your name') this.value='';" />
- </td>
- </tr>
- <tr>
- <td>密 码:</td>
- <td>
- <input type="password" name="password" value="" size="20" maxlength="20"
- οnfοcus="if (this.value=='Your Password') this.value='';" />
- </td>
- </tr>
- </table>
- <br />
- <input type="submit" name="submit" value="提交" οnclick="return validateLogin()">
- <input type="reset" name="Reset" value="重置" />
- </center>
- </form>
-
- <script type="text/javascript">
- function validateLogin(){
- var sUserName = document.frmLogin.username.value;
- var sPassWord = document.frmLogin.password.value;
- if(sUserName == ""){
- alert("请输入用户名!");
- return false;
- }
-
- if(sPassWord == "") {
- alert("请输入密码!");
- return false;
- }
- }
- </script>
- </body>
- </html>
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>登录成功</title>
- </head>
- <body>
- <%
- 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 = "女";
- }
- %>
- <div align="center">
- <%=username %>
- <p>欢迎您,登录成功!</p><br />
- <font color="blue">登录用户信息:</font>
- <table border = 1>
- <tr>
- <td>姓名:</td>
- <td> <%=username %> </td>
- </tr>
- <tr>
- <td>年龄:</td>
- <td> <%=age %> </td>
- </tr>
- <tr>
- <td>体重:</td>
- <td> <%=weight %> </td>
- </tr>
- <tr>
- <td>性别:</td>
- <td> <%=sex %> </td>
- </tr>
- </table>
- <a href="login.jsp">返回</a>
- </div>
- </body>
- </html>
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>登录失败</title>
- </head>
- <body>
- <%
- String username = (String)session.getAttribute("username");
- String msg = (String)session.getAttribute("message");
- %>
- <div align="center">
- <%=username %>
- <p>对不起,登录失败!</p><br />
- <font color="red">原因:</font>
- <%=msg %><br />
- <br />
- <p>5秒后将返回登录界面</p>
- </div>
-
- <%
- response.setHeader("Refresh", "5;URL=/Login/login.jsp");
- %>
- </body>
- </html>
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
- <display-name>Login</display-name>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>index.htm</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- <welcome-file>default.html</welcome-file>
- <welcome-file>default.htm</welcome-file>
- <welcome-file>default.jsp</welcome-file>
- </welcome-file-list>
-
- <!-- 添加servlet -->
- <servlet>
- <servlet-name>LoginTestServlet</servlet-name>
- <servlet-class>com.study.LoginTestServlet</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>LoginTestServlet</servlet-name>
- <url-pattern>/loginTestServlet</url-pattern>
- </servlet-mapping>
- </web-app>
对应的数据库和表,Eclipse链接MySQL的方法请自行度娘下哈
- 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')
- );
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。