struts2框架的搭建及demo的简单实现

昨天写了一篇《spring框架的搭建小demo》,主要是一个spring框架的搭建及一个小demo,今天主要说一下struts2框架的搭建和一个小demo.

1.首先也是先新建一个web工程struts2_test,这个web工程能跑起来的前提下,再做以下操作。

2.在WEB-INF下的lib包中导入以下jar包:

commons-fileupload-1.2.1.jar
commons-io-2.4.jar
commons-logging.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar

这些事struts2最最基本的包,其中struts2-core-2.1.8.jar包和xwork-core-2.1.6.jar我用的版本比较低,相应的freemarker-2.3.15.jar包的版本也比较低。如果大家想用struts2-core-2.1.8.jar, xwork-core-2.1.6.jar 高版本的,请也把freemarker-2.3.15.jar 包升级,如果不升级这个包,有可能出错,请大家注意,好了,这里的jar引用我就不一一说了,网上也都有现成的说明。

3.在src下新建一个java类,LoginAction.java

public class LoginAction {

	String name = "";
	String pwd = "";
	
	public void setName(String name){
		this.name = name;
	}
	public void setPwd(String pwd){
		this.pwd = pwd;
	}
	
	public String execute(){
		System.out.println("name:"+name);
		System.out.println("pwd:"+pwd);
		String message = "";
		if("xiaofan".equals(name) && "111".equals(pwd)){
			message = "success";
		}else{
			message = "error";
		}
		return message;
	}
}

在struts2中每一个请求,都被理解成一个action,也就是一个行为,其中的参数可以通过set注入的方式注入,(我这里是通过set注入的方式),当然还有其他的方式,比如什么构造函数了,大家有兴趣也学习一下,这里有两个参数name,pwd

4然后再web.xml中,添加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>

5.在src下添加一个struts.xml配置文件,

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
    <constant name="struts.action.extension" 
	value="do,">
	</constant>

    <package name="demo1" extends="struts-default">
        <action name="hello" class="com.unis.test.struts2.demo1.HelloAction">
            <result name="success" type="dispatcher">
                /WEB-INF/hello1.jsp
            </result>
        </action>
        <action name="login" class="com.unis.test.struts2.demo2.LoginAction">
            <result name="success" type="dispatcher">
                /success.jsp
            </result>
            <result name="error" type="dispatcher">
                /error.jsp
            </result>
        </action>
    </package>
</struts>

其中这里应该还有一个HelloAction的页面稍后我再贴出来,非常简单,我们先来说一下,这边的LoginAction,每一个action都是以action节点的方式配置,name其实也就是id,能唯一确定请求的,result为视图,是配置可视化的页面,这里定义了两个jsp页面,也就是说如果请求到达LoginAction中,返回了success字符串,那么就跳转到success,jsp页面,如果返回了error字符串,就跳转到error.jsp页面。success,jsp和error.jsp非常简单,也就是区分用的,我就不粘了。

还要说明的一点是constant(字面意思常数),struts.action.extension,这一项可以改变请求的格式,比如我这里写的是"do,",首先do表示我的请求里可以这样写

http://127.0.0.1:8080/struts2_test/login.do?name=www&pwd=33  ,大家看到了吗,login.do  如果把do改为aaa,那么就得改为login.aaa了,大家可以自行实验很简单。

另外“do,”中还有个逗号,表示这里的请求是login也可以,即就是http://127.0.0.1:8080/struts2_test/login?name=www&pwd=33 这样的效果跟上面的一样,当然?后面的就是参数了。这两个请求的返回页面就是error.jsp了,请求如果是http://127.0.0.1:8080/struts2_test/login?name=xiaofan&pwd=111 那么返回页面就是success.jsp了

下面在贴上一个HelloWorld

public class HelloAction {

	public String execute(){
		return "success";
	}
	
}

是不是很简单。祝大家学习愉快!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值