码迷,mamicode.com
首页 > 编程语言 > 详细

创建一个springmvc项目(一)

时间:2014-09-25 12:02:55      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:des   cWeb   cPage   style   blog   http   color   io   os   

还是写一个这样的博客吧.

Eclipse:4.3.2-jee.

tomcat:7

Maven:3-2-1

开始:

1  创建一个 Maven Project

bubuko.com,布布扣

 

2 选择一个工程路径

bubuko.com,布布扣

 

3 Maven插件带有很多的模板,这里选择 quickstart

 

bubuko.com,布布扣

 

4 输入Group Id,Artifact Id,Version .Maven会通过这几个预创建你的代码目录,所以注意下.

bubuko.com,布布扣

 

5 Maven项目到这里就创建好了,目录如下

bubuko.com,布布扣

 

6 从上图看见项目初始引入的jdk是1.5的,这里我们改成1.6的.

bubuko.com,布布扣

 

7 已经变为1.6了

bubuko.com,布布扣

 

8 quickstart为我们创建是非web项目,所以我们要在这里转换一下,

Project - properties - Project Facts - Convert to facted form.

bubuko.com,布布扣

 

9 勾选两项, Dynamic Web Module 3.0 ,Java 1.6 ,转换之.

bubuko.com,布布扣

 

10 转换后发现工程会自动创建WebContent目录.Maven工程里不需要这个目录.

我们将WebContent下的META-INF和WEB-INFO文件夹拷贝到src的main目录下(先复制过去,再删除原来的),

这是因为Maven会检测这个目录下的web.xml,如果不在这里会报错.

bubuko.com,布布扣

 

11 WEB-INFO目录结构如下,不够的补充之.

bubuko.com,布布扣

在添加两个xml文件和一个jsp文件.

bubuko.com,布布扣

web.xml:这个一会下面在详细解释(这个已经是我添加好之后了的.)

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
 3   <display-name>dubbo-provider</display-name>
 4   <context-param>
 5     <param-name>contextConfigLocation</param-name>
 6     <param-value>
 7             /WEB-INF/springmvc-servlet.xml
 8         </param-value>
 9   </context-param>
10   <listener>
11     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
12   </listener>
13           <filter>
14                 <filter-name>encodingFilter</filter-name>
15                     <filter-class>
16                         org.springframework.web.filter.CharacterEncodingFilter
17                     </filter-class>
18                 <init-param>
19                     <param-name>encoding</param-name>
20                     <param-value>UTF-8</param-value>
21                 </init-param>
22                 <init-param>
23                     <param-name>forceEncoding</param-name>
24                     <param-value>false</param-value>
25                </init-param>
26         </filter>
27         <filter-mapping>
28                 <filter-name>encodingFilter</filter-name>
29                 <url-pattern>/*</url-pattern>
30        </filter-mapping>
31   <servlet>
32     <servlet-name>springmvc</servlet-name>
33     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
34     <load-on-startup>1</load-on-startup>
35   </servlet>
36   <servlet-mapping>
37     <servlet-name>springmvc</servlet-name>
38     <url-pattern>/</url-pattern>
39   </servlet-mapping>
40 </web-app>

 

 

springmvc-servlet.xml:

 

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3        xmlns:context="http://www.springframework.org/schema/context"
 4        xsi:schemaLocation="http://www.springframework.org/schema/beans
 5         http://www.springframework.org/schema/beans/spring-beans.xsd
 6         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 7 
 8     <context:component-scan base-package="com.demo.springmvc.controller"/>
 9 
10     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
11         <property name="prefix" value="/WEB-INF/pages/"/>
12         <property name="suffix" value=".jsp"/>
13     </bean>
14 
15 </beans>

hello.jsp:

1 <html>
2 <body>
3     <h1>${msg}</h1>
4 </body>
5 </html>

 

 这里我要特别强调一下:

springmvc对springmvc的配置文件命令有一个默认的规则,

会取web.xml文件里的DispatchperServlet的servletname 为前缀,在加上"-servlet.xml"结尾.

web.xml的内容比较简单,就是一个spring默认的监听器和一个springmvc的servlet.

bubuko.com,布布扣

 再在com.demo.springmvc下创建controller的package.并创建一个HemoController.Java.

 

bubuko.com,布布扣

 HomeController.java:

 1 package com.demo.springmvc.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.ui.ModelMap;
 5 import org.springframework.web.bind.annotation.RequestMapping;
 6 import org.springframework.web.bind.annotation.RequestMethod;
 7 
 8 @Controller
 9 public class HelloController {
10     
11     @RequestMapping(value = "/hello", method = RequestMethod.GET)
12     public String hello(ModelMap model) {
13         model.addAttribute("msg", "Hello world!");
14         return "hello";
15     }
16 }

我们在controller 只需配置为 /hello 即可. 

这里说一下路径问题:

这里<property name="prefix" value="/WEB-INF/pages/"/>设置为/WEB-INF/pages/

springmvc访问时 将会自动将/WEB-INF/pages/插入到我们在浏览器上输入的UML.

比如我们要浏览hello.jsp页面,我们应该在浏览器输入 : http://localhost:8080/springmvc/hello ,

这个地址会被一分为二 ,

第一部分为http://localhost:8080/springmvc

第二部分为/hello   ,这个为我们的jsp页面在tomcat下发布路径相对于/WEB-INF/pages/的路径.(hello.jsp的在tomcat下的发布路径是 /springmvc/WEB-INF/pages/hello.jsp)

其中第一部分 http://localhost:8080/springmvc 为 ip地址+端口+项目context  ,

这时springmvc会在 http://localhost:8080/springmvc 后面自动加上/WEB-INF/pages/ ,然后在加上第二部分.

 

在jsp页面上:

如果我们要在jsp上用form表单提交到hello.jsp(加上从页面A提交过来).

这时页面A的form应为:

<form action="/springmvc/hello" method="post">

"/springmvc/hello" 这样的形式,即 项目的context + 页面在发布路径下相对 /WEB-INF/pages/ 的路径.

<form action="/springmvc/hello" method="post">
提交对应的controller 路径注解对应 为@RequestMapping(value = "/hello", method = RequestMethod.POST)即可.

 

12 现在我们下载springmvc需要的依赖包.

打开中央库,输入spring.

bubuko.com,布布扣

 

13 找到 Spring Web MVC.

bubuko.com,布布扣

 

14 选择一个 ,我选的是最新的.

bubuko.com,布布扣

 

15 拷贝之.

bubuko.com,布布扣

 

16  再在pom.xml中加入如下代码,限定Maven的编译版本:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>${project.build.sourceEncoding}   </encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

 

17 最后得到的pom.xml文件夹如下:

 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/xsd/maven-4.0.0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4 
 5     <groupId>com.demo</groupId>
 6     <artifactId>springmvc</artifactId>
 7     <version>0.0.1-SNAPSHOT</version>
 8     <packaging>jar</packaging>
 9 
10     <name>springmvc</name>
11     <url>http://maven.apache.org</url>
12 
13     <properties>
14         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15     </properties>
16 
17     <dependencies>
18         <dependency>
19             <groupId>org.springframework</groupId>
20             <artifactId>spring-webmvc</artifactId>
21             <version>4.1.0.RELEASE</version>
22         </dependency>
23         <dependency>
24             <groupId>junit</groupId>
25             <artifactId>junit</artifactId>
26             <version>3.8.1</version>
27             <scope>test</scope>
28         </dependency>
29     </dependencies>
30     <build>
31         <plugins>
32             <plugin>
33                 <groupId>org.apache.maven.plugins</groupId>
34                 <artifactId>maven-compiler-plugin</artifactId>
35                 <version>2.0.2</version>
36                 <configuration>
37                     <source>1.6</source>
38                     <target>1.6</target>
39                     <encoding>${project.build.sourceEncoding}</encoding>
40                 </configuration>
41             </plugin>
42         </plugins>
43     </build>
44 </project>

好了,现在就可以编译项目了. Project-run as -maven install, 编译成功.

 

18 现在来配置一下发布目录.添加webapp目录和Maven依赖包.

bubuko.com,布布扣

 

19 得到这样一个发布结构.

bubuko.com,布布扣

至此,就完成了.

20 .创建Server,将项目添加至tomcat,publish一下,可以去webapps或者相应目录看一下发布后的结构,这是合理的web包结构.

运行之.

打开浏览器输入:http://localhost:8080/springmvc/hello

bubuko.com,布布扣

成功,ok.

 

PS:今早8点30到公司,自己先花十分钟把边创建项目,边截图.一直搞到现在,比较匆忙, 可能不太细.

代码已经上传 下载

 

创建一个springmvc项目(一)

标签:des   cWeb   cPage   style   blog   http   color   io   os   

原文地址:http://www.cnblogs.com/Anpbszzz/p/3992120.html

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