struts2链接数据库的简单登陆验证

1、安装Mysql,建立数据库struts2,这里创建三个字段username,userpassword,userrealname


2、创建数据变量EndUser.java

package com.model.user;
public class EndUser {
private String userName;
private String userPassword;
private String userRealName;
public EndUser(){}
public String getUserName() {
	return userName;
}

public void setUserName(String userName) {
	this.userName = userName;
}

public String getUserPassword() {
	return userPassword;
}

public void setUserPassword(String userPassword) {
	this.userPassword = userPassword;
}
public String getUserRealName() {
	return userRealName;
}

public void setUserRealName(String userRealName) {
	this.userRealName = userRealName;
}
}
创建数据库链接类DBConection.java

package com.db_util;
import java.sql.*;

public class DBConnection {
	private static String driverName="com.mysql.jdbc.Driver";
	private static String userName="root";
	private static String userPwd="root";
	private static String dbName="struts2";
	public static Connection getDBConnection(){
		String url1="jdbc:mysql://localhost:3306/"+dbName;
		String url2="?user="+userName+"&password="+userPwd;
		String url3="&useUnicode=true&characterEncoding=utf-8";
		String url=url1+url2+url3;
		Connection con=null;
		try{
			Class.forName(driverName);//加载驱动
			con=DriverManager.getConnection(url);//链接数据库
		}catch(Exception e){e.printStackTrace();}
		return con;
	}
	//关闭数据库
	public static void closeDB(Connection con,PreparedStatement pstm,ResultSet rs){
		if(rs!=null)try{rs.close();}catch(SQLException e){e.printStackTrace();}
		if(pstm!=null)try{pstm.close();}catch(SQLException e){e.printStackTrace();}
		if(con!=null)try{con.close();}catch(SQLException e){e.printStackTrace();}
	}
}
创建数据库查找和添加类UserDao.java

package com.db_util;
import java.sql.*;

public class DBConnection {
	private static String driverName="com.mysql.jdbc.Driver";
	private static String userName="root";
	private static String userPwd="root";
	private static String dbName="struts2";
	public static Connection getDBConnection(){
		String url1="jdbc:mysql://localhost:3306/"+dbName;
		String url2="?user="+userName+"&password="+userPwd;
		String url3="&useUnicode=true&characterEncoding=utf-8";
		String url=url1+url2+url3;
		Connection con=null;
		try{
			Class.forName(driverName);//加载驱动
			con=DriverManager.getConnection(url);//链接数据库
		}catch(Exception e){e.printStackTrace();}
		return con;
	}
	//关闭数据库
	public static void closeDB(Connection con,PreparedStatement pstm,ResultSet rs){
		if(rs!=null)try{rs.close();}catch(SQLException e){e.printStackTrace();}
		if(pstm!=null)try{pstm.close();}catch(SQLException e){e.printStackTrace();}
		if(con!=null)try{con.close();}catch(SQLException e){e.printStackTrace();}
	}
}
创建Action类UserAction.java

package com.action.user;
import com.model.user.*;
import com.dao.user.*;
public class UserAction {
	private EndUser user;
	private UserDao userDao=new UserDao();
	public EndUser getUser(){
		return user;
	}
	public void setUser(EndUser user){
		this.user=user;
	}
	//用户登录Action的方法
	public String userLogin() throws Exception{
		String forward=null;
		EndUser user2=userDao.find(user);
		if(user2!=null){forward="success";}else{forward="failure";}
		return forward;
	}
	//用户注册Action的方法
	public String userRegister() throws Exception{
		String forward="error";
		int flag=0;
		EndUser user2=(userDao.find(user));
		if(user2!=null){forward="error_user";}
		else{
			flag=userDao.save(user);
			if(flag==1){forward="success";}
		}
		return forward;
	}
}
3、创建jsp页面

创建login.jsp页面

<form action="/struts2/user/logincheck" method="post">
<table>
<tr><th colspan="2">用户登录</th></tr>
<tr><th align="right">用户名:</th><td><input name="user.userName"/></td></tr>
<tr><td align="right">密码:</td>
<td><input type="password" name="user.userPassword"/></td></tr>
<tr><td align="left"><input type="submit" value="登录"/></td>
<td>未注册者,请先注册,单击<a href="/struts2/user/register.jsp">注册</a></td>
</tr>
</table>
</form>
创建register.jsp
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册页面</title>
<script type="text/javascript">
function isValidate(form){
	var username=document.getElementById("username").value;
	var userpass=document.getElementById("userpassword").value;
	var userpass1=document.getElementById("userpass1").value;
	if(userpass!=userpass1){
		alert("两次密码输入不一致,请重新输入!");
		return false;
	}else if(username.length<=0||userpassword.length<=0)
	{
		alert("用户名及其密码不能为空,请重新输入!");
		returnfalse;}
	else {return true;}
}
</script>
</head>
<body>
<h3 align="left">欢迎注册,请填信息!</h3>
<form name="register" action="/struts2/user/register" method="post" οnsubmit="return isValidate()">
<table>
<tr><td align="right">账户名:</td>
<td><input name="user.userName" id="username"></td></tr>
<tr><td align="right">账户设置密码:</td>
<td><input type="password" name="user.userPassword" id="userpassword"></td></tr>
<tr><td align="right">再次确认你的密码:</td>
<td><input type="password" name="userpass1" id="userpass1"></td></tr>
<tr><td align="right">真实姓名:</td>
<td><input name="user.userRealName" id="userrealname"></td></tr>
<tr><td align="right"><input type="submit" value="提交"></td>
<td colspan="2"><input type="reset" value="重新填写"></td></tr>
</table>
</form>
</body>
简单创建login_failure.jsp login_success.jsp register_success.jsp register_failure.jsp register_failure_user.jsp index.jsp页面

login_success.jsp

<body>
欢迎你,${user.userRealName} ,您已经成功登入!<br>
进入主页面,请点击<a href="/struts2/index.jsp">主页面</a>
</body>
login_failure.jsp
<body>
<h2 align="center">
<font color="red">对不起,您填写的帐号和密码不正确!请</font>
<a href="/struts2/user/login.jsp">重新登录</a>
</h2>
</body>
配置struct.xml

<struts>
<package name="struts2" namespace="/" extends="struts-default">
<action name="register" class="com.action.user.UserAction" method="userRegister">
<result name="success">/user/register_success.jsp</result>
<result name="error">/user/struts2/register_failure.jsp</result>
<result name="error_user">/user/struts2/register_failure_user.jsp</result>
</action>
<action name="logincheck" class="com.action.user.UserAction" method="userLogin">
<result name="success">/user/login_success.jsp</result>
<result name="error">/user/login_failure.jsp</result>
</action>
</package>
</struts>
配置web.xml
<filter>
        <filter-name>struts2PrepareFilter</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
    </filter>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>  
    	<filter-mapping>  
        <filter-name>struts2</filter-name>  
        <url-pattern>/*</url-pattern>  
    	</filter-mapping> 

注册页面图








  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值