-------------------------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】

Maven项目整合Struts2框架的更多相关文章

  1. Maven项目整合SSH框架

    ---------------------siwuxie095                                         Maven 项目整合 SSH 框架         创建 ...

  2. spring springmvc mybatis maven 项目整合示例-导航页面

    spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目 ...

  3. 整合Struts2框架和Spring框架

    -----------------------siwuxie095                                 整合 Struts2 框架和 Spring 框架         1 ...

  4. Spring整合Struts2框架的第二种方式(Action由Spring框架来创建)(推荐大家来使用的)

    1. spring整合struts的基本操作见我的博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2框架整 ...

  5. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  6. Spring 框架整合Struts2 框架和 Hibernate 框架

    1. Spring 框架整合 Struts2 框架 // [第一种整合方式(不推荐)](http://www.cnblogs.com/linkworld/p/7718274.html) // 从 Se ...

  7. 【SSM】Eclipse使用Maven创建Web项目+整合SSM框架

    自己接触ssm框架有一段时间了,从最早的接触新版ITOO项目的(SSM/H+Dobbu zk),再到自己近期来学习到的<淘淘商城>一个ssm框架的电商项目.用过,但是还真的没有自己搭建过, ...

  8. Eclipse使用Maven创建Web项目+整合SSM框架

    一.准备环境: maven:apache-maven-3.2.3 jdk:jdk1.8.0_25 tomcat:tomcat-9.0 二.配置Maven.jdk 1.Window——>Prefe ...

  9. 通过idea创建Maven项目整合Spring+spring mvc+mybatis

    创建项目 File→new→project             然后就不断next直到项目面板出来 设置文件夹         注意:这里我个人习惯,在java下还建了ssm文件夹,然后再cont ...

随机推荐

  1. 关于pycharm导入其他项目时出现找不到python无法运行的问题

    之前拿到一个别的人用scrapy写的一个爬虫想运行看看,然后就出了类似于这种错误(类似的,这个是网上找的),一直提示找不到XXX路径下的python,然后无法运行执行文件... 我一看这个简单,这种就 ...

  2. dom2级事件兼容性写法

    添加事件 function addEvent(node,type,hander){ if(!node) return false;     //如果没有这个元素 ,直接返回: if(node.addE ...

  3. (转!)Netdata---Linux系统性能实时监控平台部署

    我一直以为人是慢慢变老的,其实不是,人其实是一瞬间变老的. -------村上春树<舞!舞!舞!> 转自https://www.cnblogs.com/kevingrace/p/73001 ...

  4. 解决“Can't bind to local 8630 for debugger”错误--查杀多余进程

    Can't bind to local 8630 for debugger 表明本地8630端口被占用 1.Windows平台 在windows命令行窗口下执行: 1.查看所有的端口占用情况 C:\& ...

  5. sqoop操作之HDFS导出到ORACLE

    注意:在导出前需要先创建待导出的表结构.如果导出的表在数据库中不存在则会报错:如果重复导出多次,表中的数据会重复: ; ; 导出表的所有字段 sqoop export --connect jdbc:o ...

  6. MapReduce On YARN

    MapReduce计算框架 将计算过程分为两个阶段:Map和Reduce Map阶段并行处理输入数据: Reduce阶段对Map结果进行汇总 Shuffle连接Map和Reduce两个阶段 Map T ...

  7. 抽象工厂模式( Abstract Factory )

    提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类.解决多产品多等级结构.模式的类图如下: 抽象工厂模式的优点: 易于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一 ...

  8. django项目环境设置

    1.连接数据库,如mysql DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_comi ...

  9. c++官方文档-枚举-联合体-结构体-typedef-using

    #include<iostream> #include <new> #include<stdio.h> using namespace std; /** * url ...

  10. php上传文件涉及到的参数

          php上传文件涉及到的参数: 几个参数调整: 0:文件上传时存放文件的临时目录.必须是 PHP 进程所有者用户可写的目录.如果未指定则 PHP 使用系统默认值 php.ini文件中uplo ...