安庆在线网

 找回密码
 立即注册
查看: 18635|回复: 1

[宠物天地] 基于MyEclipse搭建maven+springmvc图文教程(含源码)

[复制链接]
发表于 2014-8-6 12:44:54 | 显示全部楼层 |阅读模式
本教程是基于MyEclipse环境下基于maven搭建的springmvc步骤(图文教程),文章结尾含有源码下载地址:
新建maven project
File->New->roject 选择Maven Project
1.jpg
选择项目路径
Use default Workspace location默认工作空间
2.jpg

选择项目类型
在Artifact Id中选择maven-archetype-webapp
3.jpg
输入Group IDArtifact ID,以及Package
Group ID一般写大项目名称。Artifact ID是子项目名称。
例如Spring的web包,Group ID:org.springframework,artifactId:spring-web。
Package是默认给你建一个包,不写也可以。
4.jpg
建好后如下图:
5.jpg
接下来需要添加src/main/java,src/test/java ,src/test/resources三个文件夹。右键项目根目录点击New -> Source Folder,
建出这三个文件夹。注意不是建普通的Folder,而是Source Folder。
6.jpg
7.jpg
更改文件夹显示的顺序:右击->属性->Order and Export
8.jpg
更改JDK版本:在Libraries双击JRE System Library,要1.6版本
9.jpg

更改class路径
右键项目,Java Build Path -> Source
下面应该有4个文件夹。src/main/java,src/main/resources,src/test/java ,src/test/resources。

双击每个文件夹的Output folder,选择路径。
src/main/java,src/main/resources,选择target/classes;
src/test/java ,src/test/resources, 选择target/test-classes;

选上Allow output folders for source folders.
10.jpg
点击项目名称右击,然后如图选择
11.jpg
12.jpg
在pom.xml中添加所需要的jar包
使用Maven POM editor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入spring-web,就会自动搜索关于spring-web相关的jar包,我们选择3.0.5版本的spring。将spring包全部添加进来。需要添加的其他jar包有:junit、jstl。或者点击pom.xml直接编辑pom.xml文件。这样可以直接copy过来dependencies内容。
13.jpg
14.jpg

设置jar包的scope
15.jpg
当添加进入一个jar包后,有一些属性需要设置,最重要的就是scope,它有以下几种取值:
1.         compile,缺省值,适用于所有阶段,会随着项目一起发布。
2.         provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
3.         runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
4.         test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
5.         system,类似provided,需要显式提供包含依赖的jar,Maven不会在 Repository中查找它。


注意:
在使用maven 打包或者编译时报:-source1.3 中不支持注释错误解决方案如下:
<build>
  <plugins>
   <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
     <source>1.5</source>
     <target>1.5</target>
    </configuration>
   </plugin>
  </plugins>
</build>
添加如下配置就不会再报错了

pom.xml文件代码:
<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>wang.gom.mavenspringmvc</groupId>
  <artifactId>mavenspringmvctest</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>mavenspringmvctest Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
            <groupId>org.apache.openejb</groupId>
            <artifactId>javaee-api</artifactId>
            <version>5.0-1</version>
            <scope>provided</scope>
    </dependency>
    <dependency>
            <groupId>javax.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>1.2_04</version>
            <scope>provided</scope>
    </dependency>
    <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <scope>provided</scope>
    </dependency>
    <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
    </dependency>
    <dependency>
            <groupId>javax.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>1.2_04</version>
            <scope>provided</scope>
    </dependency>
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.1.2.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
    </dependency>
    <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.5.4</version>
            <scope>compile</scope>
    </dependency>
    <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <type>jar</type>
            <scope>compile</scope>
    </dependency>
    <dependency>
            <groupId>org.apache.openejb</groupId>
            <artifactId>commons-dbcp-all</artifactId>
            <version>1.3-r699049</version>
            <type>jar</type>
            <scope>compile</scope>
    </dependency>
    <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
            <version>2.2.2</version>
            <type>jar</type>
            <scope>compile</scope>
    </dependency>
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.1.1.RELEASE</version>
            <type>jar</type>
            <scope>compile</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>mavenspringmvctest</finalName>
   
    <plugins>
   <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
     <source>1.5</source>
     <target>1.5</target>
    </configuration>
   </plugin>
  </plugins>
  </build>
</project>
web.xml文件代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                                 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
             version="2.5" >
       
        <!-- 区分项目名称,防止默认重名 -->
        <context-param>
                <param-name>webAppRootKey</param-name>
                <param-value>maven.example.root</param-value>
        </context-param>
        <!-- Spring的log4j监听器 -->
        <listener>
                <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
        </listener>
        <!-- 字符集 过滤器  -->
        <filter>
                <filter-name>CharacterEncodingFilter</filter-name>
                <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
                <init-param>
                        <param-name>encoding</param-name>
                        <param-value>UTF-8</param-value>
                </init-param>
                <init-param>
                        <param-name>forceEncoding</param-name>
                        <param-value>true</param-value>
                </init-param>
        </filter>
        <filter-mapping>
                <filter-name>CharacterEncodingFilter</filter-name>
                <url-pattern>/*</url-pattern>
        </filter-mapping>
        <!-- Spring view分发器 -->
        <servlet>
                <servlet-name>dispatcher</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <init-param>
                        <param-name>contextConfigLocation</param-name>
                        <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
                </init-param>
                <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
                <servlet-name>dispatcher</servlet-name>
                <url-pattern>*.do</url-pattern>
        </servlet-mapping>
</web-app>
dispatcher-servlet.xml文件代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/aop
        <mvc:annotation-driven />
        <context:component-scan base-package="Controller" />
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                <property name="prefix" value="/WEB-INF/views/" />
                <property name="suffix" value=".jsp" />
        </bean>
</beans>
GeneralController类代码
package Controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class GeneralController {
        @RequestMapping(value="index.do")
        public void index_jsp(Model model){
                model.addAttribute("ceshi", "测试你好");
                System.out.println("index.jsp");
        }
}
Index.jsp页面代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
        <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <title>Insert title here</title>
        </head>
       
        <body>
                <cut value="${ceshi}"></cut>
        </body>
</html>


mavenspringmvctest源码下载地址: mavenspringmvctest.zip (13.38 KB, 下载次数: 3570)
我唱歌哪有跑调,我只是喜欢唱自己的调调。

9834

主题

1万

帖子

8万

积分

管理员

资深站长

Rank: 9Rank: 9Rank: 9

积分
84672

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献

发表于 2014-8-6 12:54:00 | 显示全部楼层
你好强大啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|广告位|合作热线|小黑屋|手机版|安庆在线网 ( 皖ICP备16017945号 公安备案编号:34081102000310

GMT+4, 2024-5-14 02:28 , Processed in 0.156250 second(s), 35 queries .

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc & Style Design

快速回复 返回顶部 返回列表