`
美丽的小岛
  • 浏览: 309176 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

springMVC+Rest+Ajax小例记录

阅读更多

学习spring 3.0有新的变化,以前只用XML作为配置文件,现在还有标记了,这个实在是方便不少.谢谢aegeanmoon的提示,查了一下springMVC,支持Rest。这里用到springMVC,不过这个以前没有用过,以前只用过strutst2. 好吧,建立如下的项目结构.

1.         文件结构
 

 springMVC的时候会涉及到很多支持spring的包,如果不引入来会出现大量的错误。这个包会在springprojectant之类的文件中找到。

2.         写第一个配置文件web.xml,没有配置spring

的公共容器,只用servlet.

<?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/javaee
http://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>

 

3.         在默认的路径下写rest-servlet.xml

文件(图所示的路径) 

 4.         写一个TestSimpleControl.java作为MVC

中的Controller.

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);
	}
}

 

5.         测试1:输入-----http://localhost:8080/TestRest/test/index
 

 

6.         测试2:输入------http://localhost:8080/TestRest/test/118

7.         测试3:输入------http://localhost:8080/TestRest/responseAjax.jsp

 

 

 

  • 大小: 8.2 KB
  • 大小: 16.8 KB
  • 大小: 16.4 KB
  • 大小: 46.7 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics