Maven运行struts2

今早上试了一下如何生成war包形式用tomcat运行,知道了idea是自动编译的,生成war包方式:

先在web下创建一个目录:一会要create mainfest用

选择file-  project structure, artifacts ,+号, 选择 archive的那个 起个名字错错错!!!

是先选择exploded  再在类型里选择archive。

点击下面的create mainfest 选择刚刚创的目录即可。然后Build下选择Build Artifacts,黄色的out里找到war包放到webapps下面,然后tomcat也换成生成的war包。运行成功,之前好像就是少了一步创建META-INF这一步(里面的文件是生成后的,我们只要创建目录即可),并且没有create manifest,好像是选择了web content,所以找不到路径。随后,webapp下:

可能用jsp页面的都会多出来一个文件夹吧。文件夹内容:

看到都是和jsp相关的内容,也就是web下所有的内容。

 

maven运行struts2

用了半小时左右试了一下用maven项目将struts2项目跑起来且成功。

步骤:基本是按照网上来的:

1.选择maven 的create archetype下的webapp。

2.你懂的:

3.你懂的;

新建Folder后在上面选择她的类型即可。在main下建java和resources,java蓝色,resources是带金色的:注意:框起来的三个是平级的。

4.pom加依赖:

<dependency>

    <groupId>org.apache.struts</groupId>

    <artifactId>struts2-core</artifactId>

    <version>2.5.14.1</version>

</dependency>

5.web.xml:

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

注意到我上周六没用maven的时候就是用的上面的,会报红。

6. 配置 struts.xml 文件 (重要,易出错)

在 \WEB-INF\classes 目录下,新建 struts.xml 文件。

有人会说,不应该在 src 目录下新建 struts.xml 文件吗 ?

答: 不行,maven项目打包的时候,会忽略 src 目录下的 xml配置文件, 但是我们可以进行配置,告诉IDE打包的时候,打包到指定路径。也就是我们下文讲的,“在哪建立文件并不重要“”

其实这个文件 建在哪里并不重要, 但是打包的时候 一定要 打包到 \WEB-INF\classes路径下 , 我们下面会介绍如何设置*

所以:我们在WEB-INF下新建classes文件夹,lib不需要了,因为是maven管理jar。

struts.xml:

7.然后将jsp页面的几个文件夹复制到web下,还有java代码复制到main java下。

8.部署!!!!

IDEA MAVEN struts项目中,如果我们把 struts.xml 文件放在 src 目录下,编译的时候,将无法打包到 *\WEB-INF\classes* 路径下,运行程序的时候自然就会报错

MAVEN项目 打包到指定路径 解决方案

设置步骤如下:

FILE -> Project Structure -> Artifacts -> 选择运行的方式 -> 找到 \WEB-INF\classes\ 路径,

-> 点击 + 号 -> 选择 File -> 找到 struts.xml 文件 -> ok ,

这样我们便可以设置 将 指定文件 打包到指定目录了。

这是网上的图片,我按照它来的,一模一样,没错。

然后是maven的打war包过程:

需要在pom.xml中注明打包方式为war 

点击界面最右侧的选项:找到Lifecycle,双击package 

结果:在与src平级的下面多了黄色的target文件夹,找到war放到webapp下。Tomcat配置一下即可。

我们发现,用maven方式打包运行后,webapp下只有我们的war包,没有项目名的文件夹。且work下也没有该项目的任何文件,这就是maven管理的好处。

结果是先跳到index.jsp。显示Hello World!地址栏改下我们要访问的就行:

我们发现一个问题:

跳到hello.action的时候。路径名不对,框中应该是项目名。

原因:跟我的一样、

解决方法:

之前的头替换成:

<?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">

现在好了:

如果不改动头的话还有一种方式,就是创建项目时候就指定web版本:

找到project structor,找到modul:找到Web,删除已经有的web.xml,

点+,这时候可以看到可以选择版本了:最高4.0,我选择3.1.

重要的一点:

结果:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
        
version="3.1">
</web-app>

两者比较有不同的地方,不必知道原因能用就行。

加上我们需要的内容:

在犹豫要不要重新打包,我直接运行tomcat后发现不需要:

另外:tomcat目录:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Struts2项目需要按照以下步骤进行: 1. 创建Maven项目 在命令行中执行以下命令,创建一个Maven项目: ``` mvn archetype:generate -DgroupId=com.example -DartifactId=my-struts2-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false ``` 其中,`-DgroupId`表示项目的groupId,`-DartifactId`表示项目的artifactId,`-DarchetypeArtifactId`表示使用的模板,这里使用的是maven-archetype-webapp。 2. 添加Struts2依赖 在`pom.xml`文件中添加Struts2依赖: ```xml <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.26</version> </dependency> ``` 3. 创建Struts2配置文件 在`src/main/resources`目录下创建`struts.xml`文件,配置Struts2的基本信息,例如: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="default" extends="struts-default"> <action name="hello" class="com.example.MyAction"> <result>/index.jsp</result> </action> </package> </struts> ``` 4. 创建Struts2 Action 在`src/main/java`目录下创建一个Java类,例如`MyAction.java`,作为Struts2的Action,例如: ```java package com.example; import com.opensymphony.xwork2.ActionSupport; public class MyAction extends ActionSupport { private String message; public String execute() { message = "Hello, Struts2!"; return SUCCESS; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } ``` 5. 创建JSP页面 在`src/main/webapp`目录下创建一个JSP页面,例如`index.jsp`,用于显示Action的返回结果: ```html <html> <head> <title>Struts2 Example</title> </head> <body> <h1>${message}</h1> </body> </html> ``` 6. 运行项目 使用以下命令在Tomcat中运行项目: ``` mvn tomcat7:run ``` 然后在浏览器中访问`http://localhost:8080/my-struts2-app/hello`即可看到页面上显示的内容"Hello, Struts2!"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值