利用eclipse创建一个web工程
导入用到的jar包
开发包下载
打开下载的Struts2开发包 struts-2.3.37->lib下的可以发现有106个jar包但是在实际开发中用不到这么多的jar包
要进行struts2的基本的开发,可以参考struts-2.3.24中的apps下的一些示例代码,其中 struts2-blank.war 是一个 struts2的空的工程。我们只需要将struts2-blank.war解压后进入到WEB-INF 下的lib中查看。
注意:需要将 struts2-blank.war 文件修改后缀
修改为(struts2-blank.zip) 然后右键就可以解压了
把lib里的jar包导入到web项目中
jar包的作用
文件名 | 说明 |
---|---|
asm-3.3 jar | 操作java字节码的类库 |
asm-comnwns-3.3 jar | 提供了基于事件的表现形式 |
asm-tree-3.3.jar | 提供了基于对象的表现形式 |
struts2-core-2.3.24.jar | struts2框架的核心类库 |
xwork-core-2.3.24jar | WebWork核心库,struts2的构建基础 |
ognI-3.0.6jar | 对象图导航语言(Object Graph Navigation Language), struts2框架通过其读写对象的属性 |
freemarker-2 3.22 jar | struts2标签模板使用的类库 |
Javassist-3.11.0.GA.jar | javascript字节码解释器 |
commons-fileupload-1 3 1 Jar | struts2文件上传组件依赖包 |
commons -io-2.2 jar | struts2的输入输出,传文件依赖的jar |
commons-lang-2 4Jar | 包含一些数据类型工具,是对java.lang包的增强 |
log4]-api-2.2 jar | struts2的日志管理组件依赖包的api |
log4J-core-2.2jar | struts2的日志管理组件依赖包 |
从表可以看出,此版本的struts2项目所依赖的基础JAR包共13个。struts2根据版本的不同所依赖的基础JAR包可能不完全相同,不过基本上变化不大,可以视情况而定。
那么struts2的基本jar包己经引入完成了,我们使用struts2都是从页面发起请求到服务器,再由服务器处理请求,响应到页面的这个过程。接下来我们就从页面开发进行struts2的开发。
在webcontent下创建一个页面
index.jsp页面
StrutsDomo是Struts.xml中的 action 标签中 name 的名字
注意:.action 指的是标签(action) 所以不可以不写
${pageContext.request.contextPath} 是动态获取项目的路径
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=utf-8">
<title>Insert title here</title>
</head>
<body>
<h2>struts2小例子</h2>
<a href="${pageContext.request.contextPath}/StrutsDomo.action">点击进入Struts欢迎页面</a>
</body>
</html>
ok.html页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>struts_Hello</h1>
</body>
</html>
struts.xml文件
文件位置在src根目录下
result 标签是根据name来进行跳转页面 标签中的值是根据方法返回的值与name相等而跳转的页面路径
而 name 是 method中 execute 方法中的返回值
而execute 是 class (com.sui.StrutsDomo)类中的一个方法 class的值是 包名+类名
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="StrutsDomo" class="com.sui.StrutsDomo" method="execute">
<result name="ok">ok.html</result>
</action>
</package>
</struts>
StrutsDomo类文件
package com.sui;
public class StrutsDomo {
public String execute() {
System.out.println("方法执行了");
return "ok";
}
}
配置web.xml
在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>
流程
- 配置web.xml文件
- 打开index.jsp页面
- 点击根据a标签的href="${pageContext.request.contextPath}/StrutsDomo.action"找到struts.xml文件中名字为action标签name为StrutsDomo
- 根据name为StrutsDomo的action标签中的class类中的方法execute执行有一个返回值ok
- 根据返回值ok通过result标签的name来跳转到ok.html页面
- 如果跳转过去了并且控制台打印“方法执行了”表示struts2简单配置完成了
来源:https://blog.csdn.net/weixin_45799367/article/details/102753548