码迷,mamicode.com
首页 > 其他好文 > 详细

maven与struts2

时间:2014-07-26 15:09:20      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:struts   maven   myeclipse   

本文为原创,转载请注明来自: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项目,如下:

bubuko.com,布布扣

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

bubuko.com,布布扣

输入Y,项目就生成了

bubuko.com,布布扣

在我的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

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

 bubuko.com,布布扣



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;

选择好后如下

bubuko.com,布布扣

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

bubuko.com,布布扣



最后单击ok,

bubuko.com,布布扣


这时候还可能报错,说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问题就解决了


目录结构如下:

   bubuko.com,布布扣

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

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

bubuko.com,布布扣


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


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

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.wj.demo</groupId>
  <artifactId>maven2</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>maven2 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <!-- 属性配置 ,设置字符编码为utf-8-->  
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
  <!-- 添加JUnit进行测试 -->  
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <!-- Struts2 依赖 -->
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>2.3.1</version>
    </dependency>
    
  </dependencies>
  <build>
    <finalName>maven2</finalName>
  </build>
</project>

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

bubuko.com,布布扣


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




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

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

package com.wj.demo.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {

	private String name;//用户名
	private String password;//用户密码
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	
	//跳转到登入页面
	public String login_input()throws Exception{
		/*System.out.println("name="+name);
		System.out.println("password="+password);*/
		return SUCCESS;
	}
	//登入成功,则在返回success,并在后天打印出数据,用户名和密码
	public String login()throws Exception{
		System.out.println("name="+name);
		System.out.println("password="+password);
		return SUCCESS;
	}
}



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

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

<!-- START SNIPPET: xworkSample -->
<struts>
   <!--设置struts2的字符编码  -->
   <constant name="struts.i18n.encoding" value="utf-8"></constant> 
   <!--  设置为开发模式-->
   <constant name="struts.devMode" value="true" /> 
   <!-- 默认包 -->
    <package name="default"  extends="struts-default">
    <!-- <action name="input" class="com.wj.demo.action.UserAcion" method="login_input">
      <result name="success">/login.jsp</result>
    </action> -->
    
    <action name="login" class="com.wj.demo.action.UserAction" method="login">
      <result name="success">/login_success.jsp</result>
    </action>
   </package>
   
   
</struts>




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

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <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.在webapp目录下写jsp文件

写login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>maven and struts login</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <form action="login"  method="post">
    username:<input type="text" name="name"/><br>
    password:<input type="password" name="password"/><br>
    <input type="submit" value="登入">
    </form>
    <%
    System.out.println(path+"\n");
    System.out.println(basePath);
     %>
  </body>
</html>


写login_success.jsp文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>login success</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    登入成功!!!. <s:property value="name"/><br>
  </body>
</html>



12.完整的项目结构

bubuko.com,布布扣

bubuko.com,布布扣



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


13.发布项目,启动tomcat

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

bubuko.com,布布扣


登入:

bubuko.com,布布扣


后台输出数据:

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


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

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







maven与struts2,布布扣,bubuko.com

maven与struts2

标签:struts   maven   myeclipse   

原文地址:http://blog.csdn.net/j903829182/article/details/38128777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!