Struts2环境搭建体验
昨天试着搭了一下struts2的环境,因为网上的文章比较驳杂,所以决定去apache网站上看看。
在apache上面用到了Ant,我这里没有用。
第一步:创建项目Basic_Struts2_Ant

第二步:导入必要的jar包,Struts2.1之后的依赖jar包共有9个,2.1之前的有5个,所以倒5个的朋友们就会报错和我开始一样。

第三步:配置web.xml和struts.xml
在<web-app></web-app>节点中添加如下节点:
-------------------------------------------------
<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>
-------------------------------------------------
struts.xml可以再src目录下进行配置:
-------------------------------------------------
<?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" namespace="/"
extends="struts-default">
<action name="sum" class="cn.struts2.demo.action.FitstAction">
<result name="positive">/positive.jsp</result>
<result name="negative">/negative.jsp</result>
</action>
</package>
</struts>
--------------------------------------------------
其中<package>可以有多个
name是包名,namespace是命名空间,他们的作用是把action隔离开来,在浏览器中输入地址的时候要体现出来如:

<package>下的<action>也可以有多个.
其中name是该action的名字,在输入网址的时候需要体现出来,class是action动作类所在的包和类名。
第四步:编写Action动作类
Struts2的好处之一是将struts1中的action和ationform合为一个类中,更加方便编写。
根据struts.xml中action中的class编写类(其实这个步骤可以在配置struts.xml之前编写)。
--------------------------------------------------
public class FitstAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private int num1 = 1;
private int num2 = -2;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public int getSum(){
return num1+num2;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
if(getSum()>=0)
return "positive";
else
return "negative";
}
}
--------------------------------------------------
第五步:编写action中<result>节点下对应的jsp页面。
--------------------------------------------------
sum.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>输入操作数</title>
</head>
<body>
<br/>
<s:form action="mystruts/sum.action" >
<s:textfield name="num1" label=" 操作数1"/>
<s:textfield name="num2" label=" 操作数2" />
<s:submit value="代数和" />
</s:form>
</body>
</html>
--------------------------------------------------
当结果为非负数的页面positive.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>显示代数和</title>
</head>
<body>
代数和为非负整数<h1><s:property value="sum" /></h1>
</body>
</html>
--------------------------------------------------
当结果为负数时跳转的页面negative.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>显示代数和</title>
</head>
<body>
代数和为负整数<h1><s:property value="sum" /></h1>
</body>
</html>
--------------------------------------------------
至此,struts2第一个demo就做好了,让我看一下效果吧:



浙公网安备 33010602011771号