使用Maven_Jetty构建Struts2工程

简介:

1、命令行执行以下语句


mvn archetype:create -DgroupId=com.watson -DartifactId=s2sh -DarchetypeArtifactId=maven- archetype-webapp

就会在当前目录下创建一个myWebapp的web工程


2、我们使用struts2框架,需要添加struts2的依赖到pom.xml里面。


3、我们使用jetty容器来运行我们的web项目,添加jetty的插件到pom.xml里面。


pom.xml

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   <groupId>com.watson</groupId>  
  5.   <artifactId>s2sh</artifactId>  
  6.   <packaging>war</packaging>  
  7.   <version>1.0-SNAPSHOT</version>  
  8.   <name>s2sh Maven Webapp</name>  
  9.   <url>http://maven.apache.org</url>  
  10.   <dependencies>  
  11.     <dependency>  
  12.       <groupId>junit</groupId>  
  13.       <artifactId>junit</artifactId>  
  14.       <version>3.8.1</version>  
  15.       <scope>test</scope>  
  16.     </dependency>  
  17.     <dependency>  
  18.       <groupId>org.apache.struts</groupId>  
  19.       <artifactId>struts2-core</artifactId>  
  20.       <version>2.2.1</version>  
  21.     </dependency>  
  22.     <dependency>  
  23.       <groupId>log4j</groupId>  
  24.       <artifactId>log4j</artifactId>  
  25.       <version>1.2.14</version>  
  26.     </dependency>  
  27.     <dependency>  
  28.       <groupId>javassist</groupId>  
  29.       <artifactId>javassist</artifactId>  
  30.       <version>3.8.0.GA</version>  
  31.     </dependency>  
  32.   </dependencies>  
  33.   <build>  
  34.     <finalName>s2sh</finalName>  
  35.     <defaultGoal>install</defaultGoal>  
  36.       <plugins>  
  37.        <plugin>  
  38.         <groupId>org.mortbay.jetty</groupId>  
  39.         <version>6.1.22</version>  
  40.         <artifactId>maven-jetty-plugin</artifactId>  
  41.         <configuration>  
  42.          <contextPath>/</contextPath>  
  43.          <scanIntervalSeconds>3</scanIntervalSeconds>  
  44.          <connectors>  
  45.           <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">  
  46.            <port>7002</port>  
  47.            <maxIdleTime>60000</maxIdleTime>  
  48.           </connector>  
  49.          </connectors>  
  50.         </configuration>  
  51.        </plugin>  
  52.       </plugins>  
  53.   </build>  
  54. </project>  
  55. </span>  

4、然后进入工程目录下执行mvn compile,编译成功则表示配置正确。


5、在s2sh\src\main下面添加Java文件夹存放java文件,添加resources文件夹存放配置文件,webapp是 web相关的文件。
在webapp文件夹下打开web.xml添加struts2的过滤器。


[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;"><!DOCTYPE web-app PUBLIC  
  2.  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
  3.  "http://java.sun.com/dtd/web-app_2_3.dtd" >  
  4.   
  5. <web-app>  
  6.   <display-name>s2 Web Application</display-name>  
  7.     <filter>  
  8.         <filter-name>struts2</filter-name>  
  9.         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  10.     </filter>  
  11.     <filter-mapping>  
  12.         <filter-name>struts2</filter-name>  
  13.         <url-pattern>/*</url-pattern>  
  14.     </filter-mapping>  
  15. </web-app>  
  16. </span>  


6、在java目录下新建一个类HelloWorldAction

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;">package com.watson.s2sh.action;  
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;  
  4.   
  5. public class HelloWorldAction extends ActionSupport {  
  6.     private static final long serialVersionUID = 1L;  
  7.   
  8.     public String execute() throws Exception {  
  9.         System.out.println("hero world");  
  10.         return SUCCESS;  
  11.     }  
  12. }</span>  


7、在webapp的目录下添加一个jsp文件,HelloWorld.jsp,内容如下

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;"><%@ page language="java" contentType="text/html; charset=ISO-8859-1"  
  2.         pageEncoding="ISO-8859-1"%>  
  3. <%@ taglib prefix="s" uri="/struts-tags"%>  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loo  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
  8. <title>Hello World!</title>  
  9. </head>  
  10. <body>  
  11.         <h2>  
  12.                 <s:property value="messageStore.message" />  
  13.         </h2>  
  14. </body>  
  15. </html>  
  16. </span>  


8),在resources目录下添加struts.xml文件,内容如下:

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;"><?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5. <struts>  
  6. <constant name="struts.devMode" value="true" />  
  7.         <package name="basicstruts2" extends="struts-default">  
  8.         <action name="index">  
  9.             <result>/index.jsp</result>  
  10.         </action>  
  11.         <action name="hello" class="com.watson.s2sh.action.HelloWorldAction" method="execute">  
  12.                 <result name="success">/HelloWorld.jsp</result>  
  13.         </action>  
  14.  </package>  
  15. </struts>  
  16. </span>  


9、在工程目录下面/s2sh,使用mvn jetty:run来运行web应用。


10、启动完成后,访问如下链接:

http://localhost:7002/s2sh/hello:访问HelloWorldAction,跳转到HelloWorld.jsp. 

http://localhost:7002/s2sh/index:访问index.jsp页面。

目录
相关文章
|
3月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
52 1
|
3月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
92 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
4月前
|
自然语言处理 Java Maven
Maven 自动化构建
Maven自动化构建确保依赖稳定性。`bus-core-api(1.0-SNAPSHOT)`构建后,自动触发`app-web-ui`和`app-desktop-ui`的构建,两者均依赖bus-core-api的1.0快照版。 ``` 纯文本摘要: Maven自动化构建保证依赖项的稳定性:当`bus-core-api`的1.0-SNAPSHOT版本完成构建时,它会触发依赖它的`app-web-ui`和`app-desktop-ui`项目的构建,这两个项目都依赖`bus-core-api`的相同版本。
|
4月前
|
Java Maven Spring
如何使用Maven构建SpringBoot项目
如何使用Maven构建SpringBoot项目
|
4月前
|
Java API Maven
Maven 自动化构建
**摘要 (Markdown 格式)**: Maven自动化构建确保依赖稳定性。当`bus-core-api` (1.0-SNAPSHOT) 构建后,依赖它的`app-web-ui`和`app-desktop-ui`(均依赖bus-core-api的1.0快照)会自动触发构建,保证与最新核心API兼容。
|
4月前
|
XML Java Maven
Maven 构建配置文件
Maven构建配置文件用于定制不同环境的构建,如生产与开发。配置在`pom.xml`的`profiles`中,可通过命令行、设置文件、环境变量等方式激活。配置文件分项目级、用户级和全局级。例如,`env.properties`为默认,`env.test.properties`和`env.prod.properties`代表测试和生产环境。激活配置文件可影响如数据库URL等参数。示例中用AntRun插件展示配置应用,但实际配置文件功能不限于此。
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven生命周期包括Clean(清除)、Default(构建)和Site(站点)三个阶段,用于项目构建与发布。Default生命周期含validate、compile、test、package、verify、install和deploy,确保代码编译、测试、打包和部署。Clean清除目标目录,Site生成项目文档。每个阶段由插件目标组成,如mvn clean package,先执行清理,再打包。
|
4月前
|
Java Maven
Maven 自动化构建
**Maven自动化构建确保依赖稳定性:** 当`bus-core-api`(1.0-SNAPSHOT)构建后,依赖它的`app-web-ui`和`app-desktop-ui`自动触发构建。`app-web-ui`与`app-desktop-ui`都引用`bus-core-api`的1.0快照版本,实现版本同步。
|
4月前
|
Java Maven
maven 工程pom依赖优化及常用命令
maven 工程pom依赖优化及常用命令
58 0