通过struts2.3.24实现登陆操作

Struts搭建:

1、 先在Eclipse下创建一个Dynamic Web Project项目,创建过程为在file中点击new,在new中选择创建Dynamic Web Project,然后在Project name中输入项目名点击next,继续点击next,然后选中Generate web.xml delopmentdescriptor,这样项目的WebContent/Web-INF下就能自动生成web.xml文件。

2、 下载struts-2.3.24-all包,最好到官网上下载,将包解压,在struts-2.3.24/lib下找到下面几个包,并将他们复制到WebContent/WEB_INF/lib下,所需要的包如下:

 

</pre><p></p><div><img src="file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\313864589\QQ\WinTemp\RichOle\GK4W1YQZXSPYWOS1DEDQI5D.png" alt="" /></div><p></p><p align="left">3、  建com.example.myssh.action在里面创建一个处理用户登陆操作的控制类:RegisterAction,其中用户名和用户密码是自己设定的字符串,struts的搭建过程中暂时没有访问数据库。</p><p align="left"><pre name="code" class="html"><pre name="code" class="html"><span style="font-size:14px;">package com.example.myssh.action;

import com.example.myssh.Form.UserForm;
import com.opensymphony.xwork2.ActionSupport;

public class RegisterAction extends ActionSupport{
	
	private UserForm userform;
	/**
	 * 判断用户名和用户密码是否为空
	 * @return
	 */
	public String login(){
		if(userform.getName()!=null&&userform.getPassword()!=null){
			if(userform.getName().equals("test")&&userform.getPassword().equals("123")){
				return "success";
			}
		}
		
		return "error";
	}

	public UserForm getUserform() {
		return userform;
	}

	public void setUserform(UserForm userform) {
		this.userform = userform;
	}
	

}
</span>


 

4、  创建一个名为com.example.myssh.Form的包,包里面创建一个用于和用户进行数据交互的对象:UserForm

publicclass UserForm {
   /**
    * 用户名
    */
   private String name;
   /**
    * 密码
    */
   private String password;
   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;
   }
 
}


5、  在WebContent下面创建Register.jsp、Success.jsp、Fail.jsp三个页面来实现用户登陆、登陆成果返回页面、登陆失败返回页面:

Register.jsp登陆页面:

 

<%@page language="java" contentType="text/html;charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%@taglib prefix="s" uri="/struts-tags"%> 
<!DOCTYPEhtml PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"> 
<title>UserLogin Page</title> 
</head> 
<body> 
 
    <s:formaction="register"> 
        <s:textfieldname="userform.name" label="用户名"></s:textfield> 
        <s:passwordname="userform.password" label="密码"></s:password> 
        <!--<s:select list="#{'1':'男','0':'女'}" listKey="key"listValue="value" 
            name="user.gender" label="性别" value="1"></s:select> -->
        <s:submit value="登陆"></s:submit> 
    </s:form> 
 
</body> 
</html> 


 

 

Success.jsp登陆成功页面:

 

<%@page language="java" contentType="text/html;charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%@taglib prefix="s" uri="/struts-tags"%> 
<!DOCTYPEhtml PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"> 
<title>Success</title> 
</head> 
<body> 
 
 登陆成功!
 
</body> 
</html>


 

Fail.jsp登陆失败页面:

<%@page language="java" contentType="text/html;charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%@taglib prefix="s" uri="/struts-tags"%> 
<!DOCTYPEhtml PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title>Fail</title>
</head>
<body>
登陆失败!
</body>
</html>


6、在src目录下建立一个struts.xml文件,里面配置了用户请求的Action和这个Action在后台控制代码中实现他的类和类中的具体方法,文件内如下:

 

<?xmlversion="1.0" encoding="UTF-8" ?> 
<!DOCTYPEstruts PUBLIC 
    "-//Apache Software Foundation//DTDStruts Configuration 2.0//EN" 
   "http://struts.apache.org/dtds/struts-2.0.dtd"> 
 
<struts> 
 
    <includefile="struts-default.xml" />
   <constant name="struts.i18n.encoding"value="UTF-8" /> 
    <constantname="struts.action.extension" value="action" /> 
    <constantname="struts.serve.static.browserCache" value="false"/> 
     <constantname="struts.multipart.maxSize" value="524288000" />
    <package name="myssh"extends="struts-default"> 
        <action name="register"method="login"class="com.example.myssh.action.RegisterAction"> 
            <resultname="input">/Register.jsp</result> 
            <resultname="success">/Success.jsp</result> 
            <resultname="error">/Fail.jsp</result> 
        </action> 
    </package> 
 
</struts>
 


其中<result name="success">/Success.jsp</result> 的作用是后台判断登陆成功后返回一个success字符串,Action根据这个字符串跳转到登陆成功页面Success.jsp,如果登陆失败后台返回ERROR字符串,Action通过<resultname="error">/Fail.jsp</result>  配置跳转到Fail.jsp页面。

 

 

7、修改web.xml的内容,使得用户提交表单后如下:

<?xmlversion="1.0" encoding="UTF-8"?> 
<web-appid="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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
 
    <display-name>SSHProject</display-name> 
 
    <filter> 
       <filter-name>SSH</filter-name> 
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter> 
 
    <filter-mapping> 
       <filter-name>SSH</filter-name> 
       <url-pattern>/*</url-pattern> 
    </filter-mapping> 
 
    <welcome-file-list> 
       <welcome-file>Register.jsp</welcome-file> 
    </welcome-file-list> 
 
</web-app> 


 

上面配置实现了拦截用户的请求,org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter先执行init方法然后通过doFilter找到Action,Action配置在struts文件中。

 

项目的整体结构如下:


运行结果:

用户名:test

密码:123



 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值