您的位置:首页 > 编程语言 > Java开发

struts 2.5.1第一个测试应用

2016-06-27 22:41 429 查看
首先我是个小白,如果写的不正确的希望大家指正.我的ide是intelliJ IDEA 2015;JAVA版本 1.70_79;tomcat 7.0.61

1、最新版本的struts2.5取消了xwork*.jar也就是在lib中你会发现该文件不再存在,原因是被合并入struts核心文件中,下面是说明(2.5的部分特性):

- XWork source was merged into Struts Core source, it means that there
be no more xwork artifact nor dedicated jar
- OGNL was upgraded to version 3.0.11 and it breaks access to
properties as it follows Java Bean Specification, see WW-4207 and
WW-3909
- Spring dependency for tests and spring plugin was upgraded to
version 4.1.6, see WW-4510.
- Struts2 internal logging api was marked as deprecated and was
replaced with new Log4j2 api as logging layer, see WW-4504.
- Struts2 is now build with JDK7, see WW-4503.
- New plugin to support be
d9be
an validation is now part of the
distribution, see WW-4505.
- Deprecated plugins are now removed from the distribution and are not
longer supported anymore.
- - Dojo Plugin
- - Codebehind Plugin
- - JSF Plugin
- - Struts1 Plugin

2、首先最新的struts2.5.1下载下来的lib太多了。 如果把说有的都放入反而直接报错,应用都启动不了。下面我列出我使用的jar包:

commons-fileupload-1.3.1.jar

commons-io-2.4.jar

commons-lang3-2.4.jar

commons-logging-1.1.3.jar

freemarker-2.3.23.jar

javassist-3.20.0-GA.jar

log4j-api-2.5.jar

log4j-core-2.5.jar

log4j-jcl-2.5.jar

ognl-3.1.8.jar

struts2-core-2.5.1.jar

3、上述文放入lib然后在设置Artifacts是需要把上述lib都同时打包发布到out war包中,否则编译总会提示找不着struts类

4、添加filter到web.xml中,其中filter class和以前版本的不同之处在于取消了ng包,直接如下:

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>

</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

5、在WEB-INF/classes 下创建struts.xml,内容如下:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPEstrutsPUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN""http://struts.apache.org/dtds/struts-2.5.dtd">
<!-- START SNIPPET: xworkSample -->
<struts>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
<package name="default" extends="struts-default">
<action name="login" class="com.wxt.app.action.LoginAction" method="execute">
<result name="success">/welcome.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>

6、创建com.wxt.app.action.LoginAction类,其中类中指实现了userName 和passWork两个属性,并实现getter setter,另增加了默认调用方法execute,代码如下:

package com.wxt.app.action;

import com.opensymphony.xwork2.ActionSupport;

/**
* Created by wuxiutong on 16/6/27.
*/
public class LoginAction  extends ActionSupport {
private  String userName;
private String passWord;

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 execute() throws  Exception{
if (getUserName().equals("1")&&getPassWord().equals("1")) {
return "success";
}
else return "error";
}
}

6、创建login.jsp,welcome.jsp以及error.jsp后两者是响应文件,前者是信息输入页面,登录成功后跳转至welcom.jsp否则跳转至error.jsp。响应配置依赖于struts.xml的action节点下result的设置,只需将execute执行返回结果字符创和result的name相同即可。

login.jsp的内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<form action="login">
<input type="text" name="userName"><br/>
<input type="text" name="passWord"><br/>
<input type="submit" name="submit" value="登录"><br/>
</form>
</body>
</html>

其中的action值‘login’对应到struts配置的action的name,表明提交后执行那个action。welcome.jsp和error.jsp body中则只写了“登录成功”和“登录失败”。

现在启动应用即可实现一个简单的struts2.5.1的登录案列。输入用户名:1 和密码:1即可跳转至welcome登录成功,否则跳转至error登录失败。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: