Spring mvc3.0 rest风格 Spring mvc 入门(一)

    最近在搞Spring mvc3.0,发现还不错

    像RESTFUL风格的URL请求也是可以支持的,虽然Apache有Urlrewrite的filter也可以做,但是总感觉为了一个url再多加一个jar包进去也不是什么明智之举。

    下面我来讲讲,Spring mvc3怎样支持rest风格的url、支持velocity模板、支持json数据格式(像freemarker和velocity是一样的,就不多讲了)

   首先我们得修改:

    web.xml

<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 这里先配置spring的请求分发器-->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:mvc.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><!--这里要修改一下,这里本来spring一般都是“*.do”之类的xx,把这里直接修改为“/” 就行了 -->
<!--
这个是第一步,当然我们还要配置一些普通的html,jpg这样的一些静态文件的请求可以不用经过dispather。-->

<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.htm</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.gif</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.css</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.js</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.flv</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.swf</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.jpg</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.bmp</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.jpeg</url-pattern>
	</servlet-mapping>
然后配置spring的配置文件
 <context:component-scan base-package="sources.java.servlet.controller"/>
  
   <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>   
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
		<property name="viewClass">
         	<value>org.springframework.web.servlet.view.JstlView</value>
        </property>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>  
    </bean> 
在配置了web.xml之后,其实按理说这样就行了,再一个就是要注意spring里面controller的@requestMapping的配置了   
@RequestMapping(value ="/welcome/user")
	public ModelAndView welcome(HttpServletRequest request,HttpServletResponse response,
			ModelMap modelMap) {
//这只是一个普通的转向的类
		return new ModelAndView("welcome",modelMap);
	}

 上面返回的ModelAndView,返回视图 welcome.jsp,仅仅是视图,url并不会变化,当然,千万别忘了@Controller的注释你的请求的类,要不然就找不到你请求的路径

OK了,启动服务器

http://localhost:8080/Proj/welcome/user 在浏览器输入这个地址,便会得到你要的jsp页面了

猜你喜欢

转载自fucky.iteye.com/blog/1287428