spring mvc 配置 初级

最近公司使用spring mvc 来代替struts2.x。这两天花了点时间来自己搭建了一下简单的spring mvc 应用,

在此记录下搭建的过程,本文只涉及到 Controller 的访问,关于Interceptor, manager, dao 后续会加上,

具体的如何在eclipse中使用maven来构建项目就不介绍了,不是本文的重点。

第一:需要的jar:(pom.xml)

 

<!-- 统一管理 jar 包版本 -->
<properties>
    <version.junit>3.8.1</version.junit>
    <version.spring>3.0.6.RELEASE</version.spring>
    <version.slf4j>1.6.4</version.slf4j>
    <version.jstl>1.2</version.jstl>
</properties>
<dependencies>
  <!--junit 单元测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${version.junit}</version>
      <scope>test</scope>
    </dependency>
    
    <!-- org.slf4j -->
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-log4j12</artifactId>
		<version>${version.slf4j}</version>
	</dependency>
	
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>jstl</artifactId>
	    <version>${version.jstl}</version>
	</dependency>
		
<!-- **************************** spring *************************************** -->

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${version.spring}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-orm</artifactId>
		<version>${version.spring}</version>
	</dependency>


	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aop</artifactId>
		<version>${version.spring}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-beans</artifactId>
		<version>${version.spring}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${version.spring}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>${version.spring}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>${version.spring}</version>
	</dependency>
 </dependencies>
第二:编写 web.xml (个人认为这是最开始做的)

<!-- 配置文件读取  -->
    <listener>
 		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

    <!-- 字符集过滤 -->
    <filter>
		<filter-name>encodingFilter</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>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
    
    <!--DispatcherServlet 是Spring MVC 的入口  : 注册 dispatcherServlet -->
    <servlet>
	<servlet-name>spring</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:spring-servlet.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
     </servlet>

	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

注意:

关于 dispatcherServlet 的配置:

1)spring-servlet.xml文件的位置

个人习惯将所有的配置放在resource 里面(或者一个其他的文件夹里面),而不是直接将 spring-servlet.xml 文件直接放在 WEB-INF 下面。所以要配置<init-param>配置文件路径。(如果将 spring-servlet 直接放在WEB-INF 下面,spring在加载的时候就会自动去 WEB-INF 下面去寻找)

2)spring-servlet.xml文件的命名:

如果你不喜欢使用spring给你定死的名称(spring-servlet.xml);你希望命名为:springmvc-servlet.xml 这样更易懂的,那么你只要修改 <init-param>文件中的名称就可以了


第三:编写spring-servlet.xml 文件:

<!-- 对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->  
	<context:component-scan base-package="com.longxia.**.controller" />
	<!-- 激活@Controller模式 -->  
	<mvc:annotation-driven />
	
	<!-- 处理静态资源 -->
	<mvc:resources mapping="/js/**" location="/js/" />
	<mvc:resources mapping="/css/**" location="/css/" />
	<mvc:resources mapping="/img/**" location="/img/" />
	<mvc:default-servlet-handler /> 
    
	<!-- 视图解析器 当Controller返回XXX字符串时,先通过拦截器,然后该类就会在/WEB-INF/page/目录下,查找XXX.jsp文件-->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix" value="/WEB-INF/page/"/>
		<property name="suffix" value=".jsp" />
	</bean>

第四:编写Controller:

LoginController.java:

package com.longxia.springmvc.controller;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author xialong <longxia1987@hotmail.com>
 *
 */
@Controller
public class LoginController {
	
	private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
	
	@RequestMapping(value="/loginPage.htm")
	public String login(){
		logger.info("----------- login.htm----------");
		return "login_page";
	}
}

http://lcoalhost/springmvc/loginPage.htm; 这样就可以返回的login_page.jsp页面;


如果想要直接输入:http://localhost/springmvc 在不配置 welcome-file-list 的情况下,同时webapp下面也没有index文件的时候,那么我们怎么做呢?

@RequestMapping(value={"index.htm","/"})
	public String index(){
		return "login_page";
	}

@RequestMapping(value={"index.htm","/"});



这样就可以访问 http://localhost/springmvc 这样就可以返回的login_page页面,一般我们都用作首页的请求;

welcome-file-list 同样可以有首页的效果,这里只是说一下可以这样也可以实现


目录结构:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值