Struts2学习笔记1_基本配置与登录

系统 1711 0
struts官方网址: http://struts.apache.org

1.新建web工程,导入基本的5个jar包:
        commons-logging-1.0.4.jar
        freemarker-2.3.8.jar
        ognl-2.6.11.jar
        struts2-core-2.0.14.jar
        xwork-2.0.7.jar



2.配置web.xml过滤器
    
<filter>
 <filter-name>struts2</filter-name>
 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
 <filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>

  


3.新建Action(LoginAction),它是一个POJO
    
package com.test.bean;

public class LoginAction {

	private String username;
	private String password;
	
	// setter和getter ...
	
	//Action中的处理方法
	public String execute(){
		if( "yueyan".equals(this.getUsername().trim()
                        && "123".equals(this.getPassword().trim())) {
			return "success";
		}else{
			return "error";
		}	
	}
}

  


4.在src目录下(运行时实际是WEB-INF/classes目录),新建struts.xml文件
    
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="struts2" extends="struts-default">
		<action name="login" class="com.test.struts2.action.LoginAction">
			<result >/success.jsp</result>
			<result name="error">/error.jsp</result>
                  </action>
	</package>
</struts>

  

<result>节点的name属性若不写,则默认为name="success"

5.login.jsp页面
    
    <form action="login.action" method="post"> 
    	用户名:<input type="text" name="username" /><br>
    	密码:<input type="password" name="password" /><br>
    	<input type="submit">
    </form>

  

成功页面success.jsp 失败页面error.jsp 省略

对登录进行改进:
1.继承com.opensymphony.xwork2.ActionSupport,改善我们的Action类
    
package com.test.struts2.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction2 extends ActionSupport {

	private String username;
	private String password;
		
	//  setter和getter
	
   /** 处理 */
	@Override
	public String execute(){
		if( "yueyan".equals(this.getUsername().trim())
                       && "123".equals(this.getPassword().trim()) ){
			return "success";
		}else{
			return "error";
		}	
	}
	
   /** 验证 */
	@Override
	public void validate() {
		if( "".equals(this.getUsername().trim()) ){
		  this.addFieldError("username", "用户名为空");//给字段添加错误信息
		}
		if( "".equals(this.getPassword().trim()) ){
		  this.addFieldError("password", "密码为空");
		}
	}
}

  


2.struts.xml中添加一个新的action
    
<action name="login2" class="com.test.struts2.action.LoginAction2">
			<result >/success.jsp</result>
			<result name="error">/error.jsp</result>
			<result name="input">/login.jsp</result>
		</action>

  

<result name="input">/login.jsp</result>表示用login.jsp来显示验证所产生的错误信息

3.login.jsp中使用struts2的标签
先导入标签库:
    <%@ taglib prefix="s" uri="/struts-tags" %>
  

使用标签:
    <s:form action="login2">
    	<s:textfield name="username" label="用户名" />
    	<s:password name="password" label="密  码" />
    	<s:submit label="提交" />
    </s:form>

  



Struts2学习笔记1_基本配置与登录


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论