首页 > 学院 > 开发设计 > 正文

Struts入门 不用数据库 Struts实现 注册+登陆

2019-11-06 07:09:22
字体:
来源:转载
供稿:网友
       相信很多同学在初学 Struts 的时候 ,都有遇到过 使用 Struts 做一个注册+登陆  的功能,但是 部分同学,就像楼主一样,把这个项目分开来做 都没问题,可是一合起来就有点束手无册了。遇到的问题就是 :又不用数据库,如何把注册的名字和密码保存起来?  因为 登陆的时候要使用。       楼主在做这个项目的时候,第一时间就是去百度,可是强大的百度也搜不到 我的问题,于是楼主就只有自己去琢磨了。花了两三个小时终于写出来了。下面把代码贴出来,相信大家一看就会明白了。这是注册界面   register.jsp
<%@ 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>register</title><script type="text/Javascript">function register() {	var isRegister = true;	var name = document.getElementById("registernameid").value;	var pwd = document.getElementById("registerpwdid").value;	if (name == "" || pwd == "") {		isRegister = false;		alert("用户名或密码不能为空");	}	return isRegister;}</script></head><body>	<div align="center">		<form action="register" method="post" onsubmit="return register()">			注册名:<input type="text" name="registername" id="registernameid"/><br> <br>			密 码: <input type="passWord" name="registerpwd" id="registerpwdid" /> <br><br>				<input type="submit" value="注册" />		</form>	</div></body></html>这是登陆界面  login.jsp
<%@ 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>login</title></head><body>名:${username2 }<br>密:${pwd2 }
	<div align="center">	<h1>注册成功!请登录</h1>		<form action="login" method="post">			登录名:<input type="text" name="username" /><br> <br>			密码: <input type="password" name="password" /> <br><br>				<input type="hidden" name="registername3" value="${username2 }">				<input type="hidden"  name="registerpwd3" value="${pwd2 }">				<input type="submit" value="登陆" />		</form>	</div></body></html>
这是RegisterAction.java
import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class RegisterAction extends ActionSupport{	PRivate String registername;  	private String registerpwd;	public String getRegistername() {		return registername;	}	public void setRegistername(String registername) {		this.registername = registername;	}	public String getRegisterpwd() {		return registerpwd;	}	public void setRegisterpwd(String registerpwd) {		this.registerpwd = registerpwd;	}				@Override	public String execute() throws Exception {			System.out.println("名:"+registername);		System.out.println("密码:"+registerpwd);					ActionContext context=ActionContext.getContext();		context.put("username2", registername);		context.put("pwd2", registerpwd);		return SUCCESS;	}}这是LoginAction.java
import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport{		private String  username;		private String  password;		private String  registername3;		private String  registerpwd3;			public String getUsername() {			return username;		}		public void setUsername(String username) {			this.username = username;		}		public String getPassword() {			return password;		}		public void setPassword(String password) {			this.password = password;		}		public String getRegistername3() {			return registername3;		}		public void setRegistername3(String registername3) {			this.registername3 = registername3;		}		public String getRegisterpwd3() {			return registerpwd3;		}		public void setRegisterpwd3(String registerpwd3) {			this.registerpwd3 = registerpwd3;		}	@Override	public String execute() throws Exception {	System.out.println("username:"+username);	System.out.println("password:"+password);	System.out.println("registername3:"+registername3);	System.out.println("registerpwd3:"+registerpwd3);		if (username.equals(registername3)&&password.equals(registerpwd3)) {		return SUCCESS;	}else {		return ERROR;	}				}}struts.xml   这里的 class 是我的 包名和类名,对于大家应该不是问题 
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"	"http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <package name="default" namespace="/" extends="struts-default">      <action name="register" class="com.lwy.RegisterAction">      <result name="success">/login.jsp</result>      </action>       <action name="login" class="com.lwy.LoginAction">       <result name="success">/success.jsp</result>       <result name="error">/error.jsp</result>       </action>           </package>            </struts>web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    <display-name>register</display-name>    <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>    <welcome-file-list>        <welcome-file>register.jsp</welcome-file>    </welcome-file-list></web-app>大家看明白了吗,其实关键就在:要把 RegisterAction.java  中的 姓名和密码 传到 login.jsp中,再 通过 一个  隐藏的(hidden)   input  再次传到  LoginAction.java 中 ,然后剩下 error页面 和success 页面就没传上了。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表