springMVC+Rest+Ajax小例记录
学习spring ,3.0有新的变化,以前只用XML作为配置文件,现在还有标记了,这个实在是方便不少.谢谢aegeanmoon的提示,查了一下springMVC,支持Rest。这里用到springMVC,不过这个以前没有用过,以前只用过strutst2. 好吧,建立如下的项目结构.
?
?用springMVC的时候会涉及到很多支持spring的包,如果不引入来会出现大量的错误。这个包会在spring的project的ant之类的文件中找到。
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" 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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><servlet><servlet-name>rest</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>rest</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app> package com.lr;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controller@RequestMapping("/test")public class TestSimpleControl {// /test/index/对应的处理@RequestMapping("/index")public String index(HttpServletRequest request, HttpServletResponse response) {// response,request会自动传进来request.setAttribute("message","REST:index page , no input id!");return "index";}// 根据ID获取不同的内容,通过@PathVariable 获得属性@RequestMapping(value = "/{id}", method = RequestMethod.GET)public String get(@PathVariable("id") String id, HttpServletRequest request,HttpServletResponse response) throws IOException {request.setAttribute("message","REST:input ID is "+ id + "");return "index";}//{}用了占位符,这个用于Ajax中的异步请求@RequestMapping(value = "/{id}", method = RequestMethod.POST)public void testAjax(@PathVariable("id") String id,HttpServletRequest request, HttpServletResponse response)throws IOException {response.getWriter().write("ID is " + id);}} ? ?
?
?
?