eclipse中使用maven创建struts2入门项目案例

前提条件是已经安装好maven,并且配置了java和maven环境变量
我使用的环境是jdk1.8、maven3.6、struts2.5、eclipse4.9、tomcat8.5

创建maven项目

file->new->other->Maven project出现如下界面
创建maven项目
这里把第一个勾搭上是跳过骨架,选上的话最后创建的目录不全,需要自己补上。然后点击next
Maven的gav
这里的group Id,artifact Id自己填写,artifact Id就是项目名,我的是mavenstruts,因为之前已经创建过所以不能再用这个artifact Id,所以后面加上了一个1。需要注意的是packing需要选择war。

  • jar表示导出方式是一个jar包,其实就是一个普通的java项目
  • war表示导出的包是一个war包,也就是一个web项目

然后点击finish即可创建完成。
创建完成后目录结构如下:
目录结构

补全目录

上面红色标记的webapp就是平时使用eclipse创建web项目时的WebContent目录,在maven项目中不是叫WebContent而是叫做webapp,在该webapp目录下应该有WEB-INF目录以及WEB-INF目录下有web.xml文件,但是刚创建出来的maven的web项目不包含这个目录以及web.mxl文件,此时可以手动补齐也可以。还有种方式是通过eclipse自带的功能实现。具体方法是选中maven项目,然后右键。
补齐目录结构
最后点击一个generate Deployment Descriptor Stub(我已操作过所以变灰了)。
操作完成后右键项目->Maven->Update project即可。

更改默认jdk

我们使用eclipse创建maven项目时使用的会是自带的jdk(1.5版本),此时需要换回我们自己的版本,可以使用两种方式。

修改范围是本项目

使用这种方式修改的只是本项目的jdk,修改可以直接拷贝代码,代码如下:

<build>
       <plugins>
           <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                    <configuration>
                  <!--源码的版本-->
                  <source>1.8</source>
                  <!--编译的版本-->    
                  <target>1.8</target>
                  <!--指定的编码,避免乱码-->
                  <encoding>utf-8</encoding>
              </configuration>
           </plugin>
       </plugins>
    </build>

这是通过拷贝代码的方式,另外一种是在选中项目,右键->maven->add plugin在enter groupid….那里输入compile,然后点击下方出现的包边上的三角(也就是展开的意思),然后再选择其中版本最高的一个。此时在pom.xml中就会出现以下代码。

<build>
  	<plugins>
  		<plugin>
  			<groupId>org.apache.maven.plugins</groupId>
  			<artifactId>maven-compiler-plugin</artifactId>
  			<version>3.1</version>
  		</plugin>
  	</plugins>
  </build>

可以看到,这里与上面拷贝的代码相比缺少了configuration以及里面的元素,所以这部分自己补齐即可。也就是自己添加上下面的代码:

<configuration>
	<!--源码的版本-->
	<source>1.8</source>
	<!--编译的版本-->    
	<target>1.8</target>
	<!--指定的编码,避免乱码-->
	<encoding>utf-8</encoding>
</configuration>

修改范围是所有项目

上面已经说过通过修改pom.xml里面的配置只是对当前项目起作用,当我们下一次创建maven项目时依然是使用默认的jdk版本,如果想要一次性修改那么可以修改maven的配置文件,就是maven安装目录(下载后解压的目录)里面的conf目录下的settings.xml是全局配置文件,不过一般是不建议直接修改maven的全局配置文件的,我们可以将该配置文件复制一份到.m2目录(安装maven后悔默认创建这样的一个目录)下,以后如果需要修改maven的配置文件可以修改这里面的配置文件即可。这两个的区别是,.m2里面的配置文件作用域只是当前用户。要知道一个计算机是可以有多个用户的,修改.m2文件夹里面的配置文件只会对当前用户有效,不仅仅是修改jdk默认版本时如此,其实只要涉及到修改maven的配置文件都是建议修改.m2里面的配置文件。

具体的修改方式是将下面的代码拷贝到settings.xml文件里面的profiles标签下面。

 <profiles>
     <!--上面的profiles标签是已经处在的,我们需要添加是profile标签的内容-->
	<profile>    
	    <id>jdk-1.8</id>    
	     <activation>    
	          <activeByDefault>true</activeByDefault>    
	          <jdk>1.8</jdk>    
	      </activation>    
		<properties>    
			<maven.compiler.source>1.8</maven.compiler.source>    
			<maven.compiler.target>1.8</maven.compiler.target>    
			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
		</properties>    
	</profile>
	<!--添加内容结束-->
  </profiles>

通过这种方式修改后,以后创建的所有的maven项目都不会使用默认的jdk版本,而是使用jdk1.8(前提是我们电脑上配置的jdk版本需要是jdk1.8才可以)。

添加struts2包依赖

我们创建一个struts2项目是需要很多的jar包,maven中添加依赖的方式是在pom.xml中的dependency标签里面根据坐标来进行配置。但是也可以通过eclipse来实现。具体步骤如下:
天机struts2包依赖
我们先打开pom.xml,在下面可以选择Dependencies,然后点击右侧的Add会出现 Select Dependency页面,我们在第四步那里输入struts2-core会出现一些结果,选择第五步的那个选择finish即可(第六步是我们添加的jar包的使用范围)。此时在我们的pom.xml中会出现红色框线那部分代码
添加依赖
如果不是通过上面那种方式实现也可以在浏览器搜索struts2-core maven,在maven库中找到坐标
找坐标
将第四步哪里的代码拷贝过来放在dependencys标签内部也是一样的。
需要注意的是对于struts2项目必须的包也不是只有一个struts2-core包,但是这里的诀窍是只要我们导入struts2-core包,其余必须的包就会被自动导入。
在上面提那家jar依赖的那张图中除了struts2-core包依赖外还有两个jar包:

<dependency>
	<groupId>javax.servlet</groupId>
		<artifactId>servlet-api</artifactId>
		<version>2.5</version>
		<scope>provided</scope>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jsp-api</artifactId>
		<version>2.0</version>
		<scope>provided</scope>
	</dependency>

因为建立的是web项目所以需要添加对servlet以及jsp的支持,所以需要添加上面两个jar,需要注意的是这两个jar后面还有一句provided,这里的scope里面的有provided、compile、test等,这里选择provided表明这两个jar只是在编译的时候需要,在运行的时候不需要,这是因为我们的项目是放入在tomcat中运行的,在tomcat中已经有了这两个jar包。如果没有标签那么久默认是compile范围的。

配置文件的编写

此时的目录结构是:(注意aciton以及配置文件的位置)

  • struts.xml是在资源文件resources下面
  • web.xml是在webapp/WEB-INF下面
  • jsp可以直接放在webapp下面,我是在webapp下面建立了一个jsp文件后再放的
    在这里插入图片描述

web.xml

<?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" version="3.0">
  <display-name>mavenstruts</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- 使用struts项目时需要配置过滤器 -->
  <filter>
  	<filter-name>mavenstruts</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>mavenstruts</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

对于filter-class标签需要注意的一点是2.5版本之前的写法与2.5版本及以后有点不一样。不过可以记住大概的类名在eclipse中通过快捷家ctrl+shift+T去搜索,还有一种方式是知道该类是在包 org.apache.struts2.dispatcher.filter下面,可以直接到包里面去找。然后copy全路径过来。

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">
	
<struts>
	<!-- 这里是我们访问路径的后缀 ,如果没有后缀默认是.action-->
	<constant name="struts.action.extension" value="do" />
	<package name="hello" extends="struts-default">
		<action name="helloWorld" class="top.twolovelypig.action.MavenStruts">
			<result name="success">/jsp/index.jsp</result>
		</action>
	</package>
</struts>

action编写

action是放入在src/main/java里面的,创建该类时自己建立的包是top.twolovelypig.action

package top.twolovelypig.action;

import com.opensymphony.xwork2.ActionSupport;

public class MavenStruts extends ActionSupport{

	private static final long serialVersionUID = 1L;
	
	public String execute() throws Exception {
		
		System.out.println("已经执行了");
		return SUCCESS;
	}
}

部署运行

最后配置tomcat已经将该项目放入到tomcat中运行。启动项目后最后访问如下路径即可:

http://localhost:8080/mavenstruts/helloWorld.do
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值