springmvc的使用

来源:互联网 发布:网页前端开发知乎 编辑:程序博客网 时间:2024/06/02 01:57

springmvc的使用



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;@Controllerpublic 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)。@RequestMapping 也可以用于整个类@Controller@RequestMapping("/emp/*")public class EmpController { @RequestMapping("test1") // 这里匹配的url就是/emp/test1.do public void test1(String s){  System.out.println("s:"+s); }}spring 配置文件<?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/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd  http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/jeehttp://www.springframework.org/schema/jee/spring-jee-2.5.xsdhttp://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.xml<?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/javaeehttp://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>



@ResponseBody 可以将该方法返回的值 写入到 response的body中去(String,json,xml)。

@RequestMapping 也可以用于整个类

@Controller@RequestMapping("/emp/*")public class EmpController { @RequestMapping("test1") // 这里匹配的url就是/emp/test1.do public void test1(String s){  System.out.println("s:"+s); }}

spring 配置文件

<?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/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd  http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/jeehttp://www.springframework.org/schema/jee/spring-jee-2.5.xsdhttp://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.xml

<?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/javaeehttp://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>