1.Struts2下载
为了防止软件间的不兼容,我使用了struts-2.5.18,这里有资源供大家下载
链接:https://pan.baidu.com/s/1PlpOn4UPVAtjV_0U5VS3ow
提取码:vp9f
2、Struts2安装
将下载后的文件解压即可,会得到以下结构
将struts-2.5.18框架目录中的lib打开,得到Struts2开发中可能用到的所有JAR包
3,Struts2入门,创建Hello_World_Struts2项目
(1),创建Web项目
输入项目名称,点击next
点击next.
点击Finish。
如果WebConntent/WEB-INF路径下还是没有web.xml文件,进行下面操作
(2),添加Struts2的JAR包
将Struts2框架依赖的基础JAR文件复制到项目的WEB-INF/lib路径下(注意:千万不要复制多,struts-2.5.18版本就这8个)
如果JAR包没有被开发工具自动添加到classpath中(图标就是没变成红框中的那样),我们还需要选中JAR,右击鼠标,进行Build Path—>Add to Build Path操作。
(3),在web.xml中配置struts2的前端拦截器(filter),改成下面代码
2.5以上的版本,请把org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter修改为org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
<?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>Hello_World_Struts2</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>
(4),创建Model类MessageStore
在项目的src目录下,新建一个MessageStore.java的类
点击 Finish 完成添加,此时在src目录下就可以看到“MessageStore.java”这个文件了
打开“MessageStore.java”,编写如下代码
package org.apache.struts.helloworld.model;
public class MessageStore {
private String message;
public MessageStore(String msg){
this.setMessage(msg);
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
(5),创建Action类HelloWorldAction,充当Controller
在项目的src文件夹下添加一个“HelloWorldAction.java”文件,放到“org.apache.struts.helloworld.action”这个包中
点击【Finish】完成添加,此时在src文件夹下就可以看到“HelloWorldAction.java”文件
在“HelloWorldAction.java”文件中编写如下代码:
package org.apache.struts.helloworld.action;
import org.apache.struts.helloworld.model.MessageStore;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
private MessageStore msgStore;
@Override
public String execute() throws Exception {
msgStore = new MessageStore("HelloWorld!");
return SUCCESS;
}
public MessageStore getMsgStore() {
return msgStore;
}
public void setMsgStore(MessageStore msgStore) {
this.msgStore = msgStore;
}
}
(6),编写Struts2的配置文件
在src目录下新建一个名称为struts.xml文件
在strusts.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>
<constant name="struts.devMode" value="true" />
<package name="Hello_World_Struts2" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
<action name="hello"
class="org.apache.struts.helloworld.action.HelloWorldAction"
method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
</package>
</struts>
(7),创建视图文件HelloWorld.jsp
在 WebContent 文件夹下创建“HelloWorld.jsp”文件,如下图所示:
在HelloWorld.jsp编写如下代码
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2><s:property value="msgStore.message" /></h2>
</body>
</html>
(8),创建Action的URL链接
在 WebContent 文件夹下创建index.jsp文件,index.jsp中的代码如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Basic Struts 2 Application - Welcome</title>
</head>
<body>
<h1>Welcome To Struts 2!</h1>
<p><a href="<s:url action='hello'/>">Hello World</a></p>
</body>
</html>
“<%@ taglib prefix=“s” uri="/struts-tags" %>”表示引入struts2的标签,“<s:url action>”是一个Struts2的标签,用于创建Action的URL链接,“<s:url action=‘hello’/>”表示链接到一个名字为“hello”的action,这个名字为“hello”的action是在struts.xml配置文件配置好的,在struts.xml文件中可以找到如下的配置信息
<action name="hello"
class="org.apache.struts.helloworld.action.HelloWorldAction"
method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
(9),部署运行
将项目发布到Eclispe中Tomcat7.0服务器中,如下图所示:
点击Finish
运行界面如下图所示
点击窗口中的Hello World,运行后如下图所示