package org.base.controller; import org.base.pojo.Department; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class DeptController { /** * 映射的url http://localhost:端口号/项目名/test.do * 跳转到 (prefix)test.jsp(suffix)页面 */ @RequestMapping("/test") public String test(){ System.out.println("test"); return "test"; } /** * 若是方法无返回值,则跳转到 testP.jsp页面,即映射名 * 对于方法中的参数,能够对应url中的参数自动赋值 * 这里注意,若是url中的参数和方法定义的不一致,例如,此处的age=1.5,那么会报400错误 */ @RequestMapping("/testP") public void testParam(String name,Integer age){ System.out.println("name:"+name+",age:"+age); } /** * 也能够显式声明url参数 */ @RequestMapping("/testP1") public void testParam1(@RequestParam("name")String name,Integer age){ System.out.println("name:"+name+",age:"+age); } /** * 自动注入bean属性,注意,url中形式是 departmentId=12,不是 对象.属性 形式 */ @RequestMapping("/testP2") public void testParam2(Department dept){ System.out.println("dept:"+dept); } /** * ResponseBody注解:此方法返回值直接写入 response的body中,默认是json * 注意要导入 jackson.jar */ @RequestMapping("/test2") @ResponseBody public Department test2(){ Department dept = new Department(12, "abc", 31, 5); return dept; } //@RequestMapping 注解的方法支持不少参数: HttpServletRequest/Response,HttpSession,Writer // 不支持对象.属性传值方法,若是重名,/** * restful 风格的传参方式 */ @RequestMapping("/test3/{str}") public void test3(@PathVariable("str")String str){ System.out.println("str:"+str); } /** * date 日期类型的注入 */ @RequestMapping("/test4") public void test4(@DateTimeFormat(iso=ISO.DATE)Date d){ if(d!=null) System.out.println( new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d)); } }
@ResponseBody 能够将该方法返回的值 写入到 response的body中去(String,json,xml)。html
@RequestMapping 也能够用于整个类java
@Controller @RequestMapping("/emp/*") public class EmpController { @RequestMapping("test1") // 这里匹配的url就是/emp/test1.do public void test1(String s){ System.out.println("s:"+s); } }
spring 配置文件web
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" http://www.springframework.org/schema/beans " xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance " xmlns:tx=" http://www.springframework.org/schema/tx " xmlns:aop=" http://www.springframework.org/schema/aop " xmlns:context=" http://www.springframework.org/schema/context " xmlns:jee=" http://www.springframework.org/schema/jee " xmlns:mvc=" http://www.springframework.org/schema/mvc " xmlns:p=" http://www.springframework.org/schema/p " xsi:schemaLocation=" http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <!-- 加载配置文件 --> <context:property-placeholder location="classpath:config/jdbc.properties" /> <context:component-scan base-package="org.base" /> <!-- 开启基于注解的mvc配置 --> <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <!-- 解决"IE下返回json提示下载"问题 --> <property name="supportedMediaTypes" value="text/plain;charset=UTF-8"></property> </bean> </mvc:message-converters> </mvc:annotation-driven> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/" p:suffix=".jsp"></bean> </beans>
web.xmlspring
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" 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_2_5.xsd "> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- spring mvc --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:config/spring.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
参考:Spring MVC 框架搭建及详解 json
Spring mvc 返回JSON 在IE 下提示下载 解决办法 spring-mvc