struts2.5.10.1初体验-入门配置指南
struts2是学习JavaWeb开发的人必须要学习的一个MVC框架,它在2017年06月10日最新的版本就是2.5.10.1,推荐使用(因为它弥补了2.5版本的漏洞)。
struts2.5.10.1该版本的配置与以前版本配置方式有了变化。
一、前期准备 在Struts2官网上下载Strtus对应的版本 我这里下载了这两个,一个是2.5.10.1的min和all包。
二、首先打开eclipse for JavaEE的开发软件IDE,文件-》新建一个-》动态网站,项目名称叫做【Struts2-5Demo】。记住要勾选:让它自动生成Web.xml文件。以后的配置要在它的基础上修改。
三、第三步 把min包解压缩 之后把包里边照这个路径点进去 struts-2.5.10.1-min-lib\struts-2.5.10.1\lib 把里边所有的jar复制粘贴放进【项目文件夹】\WebContent\WEB-INF\liib\文件夹之下。
这些文件是:
- commons-fileupload-1.3.2.jar
- commons-io-2.4.jar
- commons-lang3-3.4.jar
- freemarker-2.3.23.jar
- javassist-3.20.0-GA.jar
- log4j-api-2.7.jar
- log4j-core-2.7.jar
- ognl-3.1.12.jar
- struts2-core-2.5.10.1.jar
注意:1、其中log4j-api和log4j-core也可以使用最新版本2.8.2,这两个文件要同时存在。使用了这两个log4j,在【项目】\src\目录下要有一个log4j2.xml文件,作用是记录日志,其内容以后再说。
2、在eclipse中,选中【项目名】\WebContent\WEB-INF\lib文件夹下所有的jar文件,右键-》ADD TO java build path。这一步一定要有,否则项目还是找不到struts2包里的Java类。
四、需要修改web.xml和struts.xml这两个配置文件。
1、使用无格式文本编辑器打开【web.xml】文件,修改为以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2-5Demo</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<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>
</web-app>
这个文件中主要修改的是节点和节点,中没有ng了,其余内容是由eclipse自动生成web.xml文件时自动生成的,不必修改哦。现在xml文件一律保存成UTF-8无bom编码格式。开头第一行也要声明
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.devMode" value="true"/>
<package name="default" extends="struts-default" namespace="/">
<global-allowed-methods>regex:.*</global-allowed-methods>
<global-exception-mappings>
<exception-mapping result="exception" exception="java.lang.Exception"/>
</global-exception-mappings>
<action name="login" class="org.itmrli.app.action.LoginAction">
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
现在xml文件一律保存成UTF-8无bom编码格式。开头第一行也要声明
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="com.opensymphony.xwork2" level="info"/>
<Logger name="org.apache.struts2" level="info"/>
<!--<Logger name="org.springframework" level="info"/>-->
<Root level="info">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
七,然后编辑【项目文件夹】\WebContent\目录下的jsp页面。有三个
* login.jsp //开始页面
* welcome.jsp //登录成功欢迎页面
* error.jsp //登录失败页面
是视图资源,用来显示用户结果。
八、在【src】目录下新建一个包org.itmrli.app.action,在action目录下新建个LoginAction.java源文件,此处对应的是struts.xml文件中login 的Action对应的class。
package org.itmrli.app.action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
//定义封装请求参数的username和password属性
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;
}
//定义处理用户请求的execute方法
public String execute() throws Exception
{
if (getUsername().equals("itmrli")
&& getPassword().equals("123456") )
{
ActionContext.getContext().getSession()
.put("user" , getUsername());
return SUCCESS;
}
else
{
return ERROR;
}
}
}
也保存为UTF-8无BOM文件格式。
九、作为Java Web应用运行在tomcat服务器上,
打开网页浏览器:在URL地址栏里输入Http://localhost:8080/Struts2-5Demo/login.jsp 页面中输入账户名itmrli,密码123456,进入welcome.jsp页面。