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

SpringMVC+maven框架快速搭建步骤

时间:2016-08-08 17:29:52      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

                              SpringMVC+Maven整合(注解形式)

SpringMVC是目前比较主流的框架,加上注解形式,大大的增加了开发人员的效率,而且采用注解的形式,省去了很多的XML的配置,使代码看起来清晰度提升了很多。

下面教大家如何配置,这里创建工程就不一一介绍了,我们直接从pom.xml的配置开始。

1.SpringMVC所用到的Maven坐标

  <properties>
  		<spring-version>3.1.0.RELEASE</spring-version>
  </properties>
	 <dependencies>
          <!--Spring start-->
	       <dependency>
			  <groupId>org.springframework</groupId>
			  <artifactId>spring-web</artifactId>
			   <version>${spring-version}</version>  
	            </dependency>
	        <dependency>  
			    <groupId>org.springframework</groupId>  
			    <artifactId>spring-webmvc</artifactId>  
			    <version>${spring-version}</version>  
		   </dependency>  
	         <dependency>  
			    <groupId>org.springframework</groupId>  
			    <artifactId>spring-jdbc</artifactId>  
			    <version>${spring-version}</version>  
			</dependency>  
			<dependency>  
			    <groupId>org.springframework</groupId>  
			    <artifactId>spring-context</artifactId>  
			    <version>${spring-version}</version>  
			</dependency>  
			<dependency>  
			    <groupId>org.springframework</groupId>  
			    <artifactId>spring-aop</artifactId>  
			    <version>${spring-version}</version>  
			</dependency>  
			<dependency>  
			    <groupId>org.springframework</groupId>  
			    <artifactId>spring-core</artifactId>  
			    <version>${spring-version}</version>  
			</dependency>  
			<dependency>  
			    <groupId>org.springframework</groupId>  
			    <artifactId>spring-test</artifactId>  
			    <version>${spring-version}</version>  
			</dependency>  
                <!--Spring start-->

                <!--Log4j start-->
		    <dependency>
			        <groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>1.2.16</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>1.6.1</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.6.1</version>
			</dependency>
                <!--Log4j end-->
			 <dependency>
				  <groupId>javax.servlet</groupId>
				  <artifactId>jstl</artifactId>
				  <version>1.2</version>
			 </dependency>
                 <!--jstl 标签库-->
			 <dependency>
				  <groupId>taglibs</groupId>
				  <artifactId>standard</artifactId>
				  <version>1.1.2</version>
			 </dependency>
  </dependencies>

  这里选用的Spring版本是3.1.0.RELEASE的,大家可以根据自己的需求而定版本。

2.web.xml的配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 5     id="WebApp_ID" version="3.0">
 6     
 7     <context-param>
 8         <param-name>contextConfigLocation</param-name>
 9         <!-- 应用上下文配置文件 -->
10         <param-value>classpath:spring/spring-context.xml</param-value>
11     </context-param>
12     <listener>
13         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
14     </listener>
15     
16     <!-- 配置spring核心servlet -->
17     <servlet>
18         <servlet-name>daily-collect</servlet-name>
19         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
20         <init-param>
21             <description>spring mvc 配置文件</description>
22             <param-name>contextConfigLocation</param-name>
23             <param-value>classpath:spring/spring-mvc.xml</param-value>
24         </init-param>
25         <load-on-startup>1</load-on-startup>
26     </servlet>
27     
28     <listener>
29         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
30     </listener>
31     <context-param>
32         <param-name>log4jConfigLocation</param-name>
33         <param-value>classpath:log4j.properties</param-value>
34     </context-param>
35     
36     <!-- 这里注意servlet-name必须要和上面配置spring核心的servlet-name的名字一样,这里有映射的关系 -->
37     <!-- url-pattern配置为/,不带文件后缀,会造成其它静态文件(js,css等)不能访问。如配为*.do,则不影响静态文件的访问 -->
38     <servlet-mapping>
39         <servlet-name>daily-collect</servlet-name>
40         <url-pattern>*.do</url-pattern>
41     </servlet-mapping>
42     
43     <!-- filer过滤器是避免请求数据字符集的乱码处理 -->
44         <filter>  
45         <filter-name>CharacterEncodingFilter</filter-name>  
46         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
47         <init-param>  
48             <param-name>encoding</param-name>  
49             <param-value>utf-8</param-value>  
50         </init-param>  
51     </filter>  
52     <!-- 与上面的名字要保持一致 -->
53     <filter-mapping>  
54         <filter-name>CharacterEncodingFilter</filter-name>  
55         <url-pattern>/*</url-pattern>  
56     </filter-mapping>  
57     <!-- 设置默认的访问路径 -->
58       <welcome-file-list>   
59             <welcome-file>pages/Index.jsp</welcome-file>   
60       </welcome-file-list>   
61 </web-app>  

3.spring-context.xml配置(这里配置的是一些全局用到的bean或者加载配置文件,引用其他spring的xml)。

 1 <beans xmlns="http://www.springframework.org/schema/beans"  
 2  xmlns:context="http://www.springframework.org/schema/context"  
 3  xmlns:p="http://www.springframework.org/schema/p"  
 4  xmlns:mvc="http://www.springframework.org/schema/mvc"  
 5  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 6  xsi:schemaLocation="http://www.springframework.org/schema/beans  
 7       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
 8       http://www.springframework.org/schema/context  
 9       http://www.springframework.org/schema/context/spring-context.xsd  
10       http://www.springframework.org/schema/mvc  
11       http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">  
12       <!--开启springmvc注解 -->
13      <context:annotation-config />
14    
15      <!-- 启动包扫描功能,以便注册带有@Controller、@Service、@repository、@Component等注解的类成为spring的bean -->
16     <context:component-scan base-package="com.code.daily.*.*.controller"/> 
17     
18     
19 <!--     <import resource="classpath:spring/spring-tx.xml" /> -->
20 </beans>  

4.spring-mvc.xml的配置(主要是对注解的开启,需要扫描注解的拦截操作)里面的几个标签大家可以直接百度上搜索,就会有介绍其作用。

<beans xmlns="http://www.springframework.org/schema/beans"  
 xmlns:context="http://www.springframework.org/schema/context"  
 xmlns:p="http://www.springframework.org/schema/p"  
 xmlns:mvc="http://www.springframework.org/schema/mvc"  
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 xsi:schemaLocation="http://www.springframework.org/schema/beans  
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
      http://www.springframework.org/schema/context  
      http://www.springframework.org/schema/context/spring-context.xsd  
      http://www.springframework.org/schema/mvc  
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">  
      
        <context:annotation-config />
        <mvc:annotation-driven/>  
        <mvc:default-servlet-handler />
        <context:component-scan base-package="com.code.daily.*.*.controller"/>  
     
    <!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>  

5.Contorller的代码

 1 package com.code.daily.service.tester.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.RequestMethod;
 6 import org.springframework.web.bind.annotation.ResponseBody;
 7 import org.springframework.web.servlet.ModelAndView;
 8 
 9 @Controller
10 @RequestMapping("/test")
11 public class FistTesterControllet {
12     @RequestMapping(value = "/fistTest",method = RequestMethod.GET)
13     
14     public @ResponseBody ModelAndView  fistTester() {
15         ModelAndView mv =  new ModelAndView();
16         mv.addObject("message","message");
17         mv.setViewName("Index");
18         return mv;
19     }
20 }

6.jsp页面,头部标签导入了JSTL的标签库

<%@ 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>FIST PAGE !!!</title>
</head>
<body>
    ${message}, Fist  page  !!!  
</body>
</html>

7.项目结构

技术分享

8.访问路径的映射 web.xml(daily-collect)+Controller(/test)+(/fistTest)+.do

    http://localhost:8089/daily-collect/test/fistTest.do

9.常见性问题

技术分享

如果你已经检查过项目中,在web.xml配置了此监听器,并可以找到此jar包,但仍报次错误,那么这个可能就是,MAVEN在部署的时候并没有引用到项目中去
解决方案:右键此工程选择properties

技术分享技术分享技术分享

重新启动测试,可能还会遇到一些其他的问题,大家可以百度尝试搜索解决,或者把问题写在下面,有时间会回复解答

SpringMVC+maven框架快速搭建步骤

标签:

原文地址:http://www.cnblogs.com/deppon/p/5750136.html

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