Maven项目整合Struts2框架
-------------------------siwuxie095
Maven 项目整合 Struts2 框架
1、先创建 Maven 项目:maven-struts2
注意:要勾选跳过原型选项 或 跳过骨架选项
2、创建完成,项目目录结构一览:
3、 在 pom.xml 中添加 struts2-core 的依赖
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.33</version> </dependency> |
4、不难发现,除了手动添加的依赖 struts2-core,
struts2-core 的依赖也自动添加进来了
5、在 src/main/java 目录下创建 Action 类
UserAction.java:
package com.siwuxie095.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
public String add() { System.out.println("----- add -----"); return "add"; }
} |
6、在 src/main/resources 目录下创建 Struts2 核心配置文件
struts.xml:
<?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="demo" extends="struts-default" namespace="/">
<action name="user_*" class="com.siwuxie095.action.UserAction" method="{1}"> <result name="add">/index.jsp</result> </action>
</package>
</struts> |
7、在 src/main/webapp 目录下创建 JSP 页面
index.jsp:
<%@ 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>首页</title> </head> <body> <h1>添加成功!</h1> </body> </html> |
8、此时,index.jsp 无法编译通过,向 pom.xml 中添加依赖 jsp-api
<!-- 创建的 JSP 文件需要 jsp-api 依赖才能编译 通过,但因为 Tomcat 中已经有了该 jar 包, 所以将依赖范围设置为 provided
同时,servlet-api 是 jsp-api 的依赖,将 自动添加进来
其实,这里只添加 servlet-api 也是可以编译 通过的
综上,共有三种解决方法: (1)手动添加 jsp-api 依赖,servlet-api 因 为是 jsp-api 的依赖,也将自动添加进来 (2)手动添加 servlet-api 依赖 (3)手动添加 jsp-api 和 servlet-api 依赖
--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> |
9、综上,该 Maven 项目的核心配置文件如下:
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <!-- 当前 Maven 项目的坐标信息 --> <groupId>com.siwuxie095.maven</groupId> <artifactId>maven-struts2</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging>
<dependencies>
<!-- 只需要添加 struts2-core 一个依赖, struts2-core 的依赖就会自动添加 进来 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.33</version> </dependency>
<!-- 创建的 JSP 文件需要 jsp-api 依赖才能编译 通过,但因为 Tomcat 中已经有了该 jar 包, 所以将依赖范围设置为 provided
同时,servlet-api 是 jsp-api 的依赖,将 自动添加进来
其实,这里只添加 servlet-api 也是可以编译 通过的
综上,共有三种解决方法: (1)手动添加 jsp-api 依赖,servlet-api 因 为是 jsp-api 的依赖,也将自动添加进来 (2)手动添加 servlet-api 依赖 (3)手动添加 jsp-api 和 servlet-api 依赖
--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency>
</dependencies>
</project> |
10、最后,别忘了在部署描述文件中配置 Struts2 核心过滤器
web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
<!-- 配置 Struts2 核心过滤器 --> <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-app> |
11、访问路径
http://localhost:8080/maven-struts2/user_add.action
【made by siwuxie095】
posted on 2017-09-22 10:51 siwuxie095 阅读(806) 评论(0) 编辑 收藏 举报