JAVAWEB期末复习(三)
用户登录验证
在WebContent创建
一、主界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 接收用户输入的用户名和密码,提交给 check_login.jsp 页面 -->
<form method=post action="e5check_login.jsp">
<table align="center">
<tr>
<td>用户名:</td>
<td><input type=text name=name></td>
</tr>
<tr>
<td>密码:</td>
<td><input type=text name=password></td>
</tr>
<tr>
<td colspan=2 align="center"><input type=submit value="登 录">
<input type=reset value="重 设"></td>
</tr>
</table>
</form>
</body>
</html>
二、创建e5check_login
<%@ page import=“com.jspdev.experiment.UserBean” contentType=“text/html; charset=UTF-8”%>
<jsp:useBean id=“ExpDataOperate”
class=“com.jspdev.experiment.ExpDataOperate” />
<%
//内置对象 request 基本用法:
//获取表单提交的用户名
String name = request.getParameter(“name”);
//获取表单提交的密码
String password = request.getParameter(“password”);
UserBean user = ExpDataOperate.login(name, password);
if (user != null)
{
session.setAttribute("loginId", user.getId());
session.setAttribute("loginUser", name);
%>
<%–JSP 常用动作之一 forward 用法:重定向,功能同上–%>
<jsp:forward page=“e5login_success.jsp” />
<%
} else {
%>
<%–JSP 常用动作之一 forward 用法:重定向,功能同上–%>
<jsp:forward page=“e5alert.jsp” />
<%
}
%>
三、创建e5alert.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>登录失败</title>
</head>
<body>
<h1 align="center">
用户名或密码不正确!<br>
没有登录! 无权访问本网站!
</h1>
<h1 align="center"><a href="main.jsp">请登录!</a></h1>
</body>
</html>
四、创建e5login_success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="e5session_check.jsp"%>
<html>
<head>
<title>登录成功</title>
</head>
<body>
<br>
<hr width=380>
<center>
<h1>
<%
//内置对象 out 的基本用法:向网页输出
out.print(name); //显示登录的用户名
%>
登录成功。
</h1>
<h2>
<%--JSP 表达式用法,向网页输出的简易方法--%>
欢迎您!<%=name%>
<!--显示登录的用户名-->
</h2>
</center>
</body>
</html>
五、创建e5session_check.jsp
<%
String name=(String) session.getAttribute("loginUser");
if(name==null){
response.sendRedirect("e5alert.jsp"); }
%>
在src里面创建 .java
一、创建数据库链接 DbConnection.java
package com.jspdev.experiment;
import java.sql.*;
public class DbConnection {
// 定义静态方法,返回一个数据库连接
public static Connection getConnection() {
Connection con = null;
String drivername = "com.mysql.jdbc.Driver";
String urlstr = "jdbc:mysql://localhost/jspex5?useUnicode=true&characterEncoding=UTF-8";
String username = "root";
String password = "123456";
try {
// 加载驱动程序
Class.forName(drivername);
} catch (Exception e) {
System.out.println("加载驱动程序错误,驱动程序名称写错或未将驱动程序放在正确的位置");
System.out.println(e);
}
try {
// 建立连接,需提供连接字符串,数据库用户名及相应的密码
con = DriverManager.getConnection(urlstr, username, password);
} catch (SQLException e) {
System.out.println("建立连接错误,数据库url有错误,数据库服务器端口不正确、数据库不存在、或用户密码不对");
System.out.println(e);
}
return con;
}
}
改成老师说的数据库
二、创建ExpDataOperate.java
/**
* dao层
*/
package com.jspdev.experiment;
import java.sql.*;
public class ExpDataOperate {
// 定义私有变量保存连接对象
private Connection con;
// 增加一个用户,传递一个 UserBean 对象的参数
// 该对象中存储了用户记录的信息
public void addUser(UserBean user) throws Exception {
con =DbConnection.getConnection();
PreparedStatement pstmt = con.prepareStatement("insert into user(name,password) values(?,?)");
pstmt.setString(1,user.getName());
pstmt.setString(2,user.getPassword());
pstmt.execute() ;
pstmt.close();
con.close(); }
// 验证登录,传递用户名和密码参数
// 返回保存相应用户信息的 UserBean 对象,或者 null
public UserBean login(String name, String password) throws Exception {
con = DbConnection.getConnection();
Statement stmt=con.createStatement();
String strSql = "select * from user where name='" + name + "' and password='" + password + "'";
ResultSet rs = stmt.executeQuery(strSql);
UserBean item = null;
while(rs.next()){
item = new UserBean();
item.setId(rs.getInt ("id"));
item.setName(rs.getString("name"));
item.setPassword(rs.getString("password"));
}
rs.close();
stmt.close();
con.close();
return item;
}
}
三、初始化 UserBean .java
package com.jspdev.experiment;
import java.io.*;
public class UserBean implements Serializable {
private int id;
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
引入jar包
一、在WebConent->WEB-INF->lib下
导入包!
上一篇: [翻译]Prefuse用户手册
下一篇: 转Map