涉及以下幾個文件:
1。登錄頁面 login.jsp
2,成功跳轉頁面 success.jsp
3,失敗跳轉頁面 fail.jsp
4,servlet 處理類 LoginTestServlet.java
5,配置文件 web.xml
--------------------------------------------- ?依次看代碼 ? ? ?--------------------------------------------
LoginTestServlet.java 內容
package com.test;
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
*/
@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 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/heml;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 = "請輸入password(不能超過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/demo";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = (Connection) DriverManager.getConnection(url,"root","root");
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") ;
return;
}else{
session.setAttribute("message", "用戶名或password不匹配。
");
response.sendRedirect("fail.jsp") ;
return;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
login.jsp 內容
pageEncoding="UTF-8"%>
用戶登錄用戶登錄
用戶名: | |
密??碼 | |
function validateLogin(){
var sUserName = document.frmLogin.username.value;
var sPassword = document.frmLogin.psssword.value;
if (sUserName ==""){
alert("請輸入用戶名!");
return false ;
}
if (sPassword ==""){
alert("請輸入密碼!");
return false ;
}
}
success.jsp 內容
pageEncoding="UTF-8"%>
Insert title hereString 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 = "女" ;
}
%>
歡迎您,登陸成功。
登陸用戶信息:
?姓名:? | ???? |
?年齡:? | ???? |
?體重:? | ???kg? |
?性別:? | ???? |
返回
fail.jsp 內容
pageEncoding="UTF-8"%>
Insert title hereString userName = (String) session.getAttribute("username");
String msg = (String) session.getAttribute("message");
%>
對不起。登陸失敗!原因:
5秒后將返回登陸界面。
response.setHeader("Refresh", "5;URL=/webDemo/login.jsp");
%>
-------------------------------------------------------配置數據庫------------------------------------------------------
mysql數據庫中須要創建數據庫demo,當中創建表userInfo 創建表語句為:
create databasedemo;
use demo
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')) ;
須要把連接mysql的jar包放到項目的lib文件夾中
---------------------------------------------華麗的切割線----------------------------------------
最后 web.xml 內容
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
webDemo
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
LoginTestServlet
com.test.LoginTestServlet
LoginTestServlet
/loginTestServlet