maven与struts2的配置

转载自:http://blog.csdn.net/j903829182/article/details/38128777

在我学mavne的时候,遇到了很多的问题,不知道怎么用maven进行包的管里,后来在网上查看了很多的资料,借鉴了其他的博客资料,但是看其他的博客写的不是很详细,所以我在前人的基础上写下我自己学习maven管理struts2项目的过程和步骤,希望对初学者有所帮助,也对于我自己以后在使用maven带来方便。本博文参照的博文是:http://blog.csdn.net/yuguiyang1990/article/details/8798052(也比较详细了)

maven里面包的版本格式网址:

http://mvnrepository.com/

http://search.maven.org/


1.在windows(我的事window8)下面输入cmd,进入到dos界面,切换到你存放仓库的目录的上一级目录(方便管理,放在其他地方也是可以的,你在哪个目录下操作,生成的maven项目就在哪个目录下面),我的仓库目录是G:\maven\repository(repository存放maven下载的包),我进入到G:\maven目录里面输入mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp,创建web的maven项目,如下:


2.输入groupid(组织id),artifactId(项目的名字),version或者采用默认的设置(直接回车),


输入Y,项目就生成了


在我的G:\maven目录下面可以看到maven3的项目


3.把生成的maven项目导入myeclipse(我的是myeclipse2013)  

  打开myeclipse,选择File--〉import-->Maven4Myeclipse--->Existing Maven Projects-->在Root Directory后面点击Browse,找到上面生成的maven3项目,我的是在G:\maven目录下面,---〉确定----〉next---〉Finish

到此为止maven生成的web项目已经导入到myeclipse里面了,但是项目的目录结构还有问题,需要修改。

4.修改项目的目录结构:

  需要在src/main目录下创建java文件夹(右击src/main目录的main目录,选择new--〉Folder--〉输入Folder name为java--->Finish完成创建

  需要在src目录下面创建test目录,创建方法如上,接着在src/test目录下面创建java目录和resources

 目录结构修改后如下所示:

 



5.配置工程属性:

 右击项目选择Build Path--〉Configure Build Path--〉选择source

双击每个文件夹的Output folder,选择路径

src/main/java,src/main/resources,选择target /classes;
src/test/java ,src/test/resources, 选择target/test-classes;

选择好后如下


修改jdk版本:选择 libraries 标签,选中JRE library,单击Edit按钮选择合适的jdk版本,我用的是自己的jdk1.7的所以我选择的是jdk1.7,Finish




最后单击ok,



这时候还可能报错,说jdk的DescriptionResourcePathLocationType  Java compiler level does not match the version of the installed Java project facet.maven3 Maven WebappUnknownFaceted Project Problem (Java Version Mismatch),项目前面有个小的红叉,别着急,接下来告诉你怎么处理,

解决办法:右击项目名--〉选择properties--〉点击Myeclipse---〉点击Project Facts--〉找到java,选择1.7版本,---〉apply---〉ok问题就解决了


目录结构如下:

   

6.经过上面的步骤,基本上maven管理的web就配置好了,接下来就来用maven配置struts

首先右击项目选择Maven4Meclipse ---〉Update  Project,现在你看项目的Mave Dependencies里面没有struts2支持的jar包,



所以需要通过maven的配置来倒入struts2的jar包


7.配置pom.xm文件,添加struts2的依赖,这里只需要在pom.xml中添加一个struts-core的依赖即可

[html]  view plain  copy
 print ?
  1. <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.wj.demo</groupId>  
  5.   <artifactId>maven2</artifactId>  
  6.   <packaging>war</packaging>  
  7.   <version>1.0-SNAPSHOT</version>  
  8.   <name>maven2 Maven Webapp</name>  
  9.   <url>http://maven.apache.org</url>  
  10.   <!-- 属性配置 ,设置字符编码为utf-8-->    
  11.   <properties>  
  12.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  13.   </properties>  
  14.   <dependencies>  
  15.   <!-- 添加JUnit进行测试 -->    
  16.     <dependency>  
  17.       <groupId>junit</groupId>  
  18.       <artifactId>junit</artifactId>  
  19.       <version>3.8.1</version>  
  20.       <scope>test</scope>  
  21.     </dependency>  
  22.       
  23.     <!-- Struts2 依赖 -->  
  24.     <dependency>  
  25.       <groupId>org.apache.struts</groupId>  
  26.       <artifactId>struts2-core</artifactId>  
  27.       <version>2.3.1</version>  
  28.     </dependency>  
  29.       
  30.   </dependencies>  
  31.   <build>  
  32.     <finalName>maven2</finalName>  
  33.   </build>  
  34. </project>  

之后你clean下项目, 右击项目选择Maven4Meclipse ---〉Update  Project,maven会自动从网上下载struts需要的其他的依赖包,下载后可以看到



可以看到需要的struts2的一些开发包已经下载下来了




8.有了struts2支持的包,接下里就写acition

在src/main/java目录下面创建一个包后,在这个包里面创建一个action的类,类的内容如下

[java]  view plain  copy
 print ?
  1. package com.wj.demo.action;  
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;  
  4.   
  5. public class UserAction extends ActionSupport {  
  6.   
  7.     private String name;//用户名  
  8.     private String password;//用户密码  
  9.     public String getName() {  
  10.         return name;  
  11.     }  
  12.     public void setName(String name) {  
  13.         this.name = name;  
  14.     }  
  15.     public String getPassword() {  
  16.         return password;  
  17.     }  
  18.     public void setPassword(String password) {  
  19.         this.password = password;  
  20.     }  
  21.       
  22.       
  23.     //跳转到登入页面  
  24.     public String login_input()throws Exception{  
  25.         /*System.out.println("name="+name); 
  26.         System.out.println("password="+password);*/  
  27.         return SUCCESS;  
  28.     }  
  29.     //登入成功,则在返回success,并在后天打印出数据,用户名和密码  
  30.     public String login()throws Exception{  
  31.         System.out.println("name="+name);  
  32.         System.out.println("password="+password);  
  33.         return SUCCESS;  
  34.     }  
  35. }  



9.配置struts.xml。新建文件struts.xml,注意一定要放在src/main/resources下。内容如下:

[html]  view plain  copy
 print ?
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <!DOCTYPE struts PUBLIC  
  4.     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  
  5.     "http://struts.apache.org/dtds/struts-2.3.dtd">  
  6.   
  7. <!-- START SNIPPET: xworkSample -->  
  8. <struts>  
  9.    <!--设置struts2的字符编码  -->  
  10.    <constant name="struts.i18n.encoding" value="utf-8"></constant>   
  11.    <!--  设置为开发模式-->  
  12.    <constant name="struts.devMode" value="true" />   
  13.    <!-- 默认包 -->  
  14.     <package name="default"  extends="struts-default">  
  15.     <!-- <action name="input" class="com.wj.demo.action.UserAcion" method="login_input">  
  16.       <result name="success">/login.jsp</result>  
  17.     </action> -->  
  18.       
  19.     <action name="login" class="com.wj.demo.action.UserAction" method="login">  
  20.       <result name="success">/login_success.jsp</result>  
  21.     </action>  
  22.    </package>  
  23.      
  24.      
  25. </struts>  



10.配置web.xml文件,进行请求的过滤

[html]  view plain  copy
 print ?
  1. <!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>Archetype Created 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>  



11.在webapp目录下写jsp文件

写login.jsp

[html]  view plain  copy
 print ?
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6.   
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href="<%=basePath%>">  
  11.       
  12.     <title>maven and struts login</title>  
  13.       
  14.     <meta http-equiv="pragma" content="no-cache">  
  15.     <meta http-equiv="cache-control" content="no-cache">  
  16.     <meta http-equiv="expires" content="0">      
  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  18.     <meta http-equiv="description" content="This is my page">  
  19.     <!-- 
  20.     <link rel="stylesheet" type="text/css" href="styles.css"> 
  21.     -->  
  22.   
  23.   </head>  
  24.     
  25.   <body>  
  26.     <form action="login"  method="post">  
  27.     username:<input type="text" name="name"/><br>  
  28.     password:<input type="password" name="password"/><br>  
  29.     <input type="submit" value="登入">  
  30.     </form>  
  31.     <%  
  32.     System.out.println(path+"\n");  
  33.     System.out.println(basePath);  
  34.      %>  
  35.   </body>  
  36. </html>  


写login_success.jsp文件

[html]  view plain  copy
 print ?
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%@ taglib uri="/struts-tags" prefix="s" %>  
  3. <%  
  4. String path = request.getContextPath();  
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  6. %>  
  7.   
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  9. <html>  
  10.   <head>  
  11.     <base href="<%=basePath%>">  
  12.       
  13.     <title>login success</title>  
  14.       
  15.     <meta http-equiv="pragma" content="no-cache">  
  16.     <meta http-equiv="cache-control" content="no-cache">  
  17.     <meta http-equiv="expires" content="0">      
  18.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  19.     <meta http-equiv="description" content="This is my page">  
  20.     <!-- 
  21.     <link rel="stylesheet" type="text/css" href="styles.css"> 
  22.     -->  
  23.   
  24.   </head>  
  25.     
  26.   <body>  
  27.     登入成功!!!. <s:property value="name"/><br>  
  28.   </body>  
  29. </html>  



12.完整的项目结构





到此为止,项目基本已经写完了,


13.发布项目,启动tomcat

打开浏览器,输入访问路径http://localhost:8080/maven2/login.jsp



登入:



后台输出数据:

http://localhost:8080/maven2/
name=hello
password=world


至此使用maven管理struts2的bao,已经写完。

总结:struts2需要的包,利用maven在pom.xml文件里面配置就好了,其他的web操作和普通的web操作一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值