Spring MVC入门基础

来源:互联网 发布:php开发app接口源码 编辑:程序博客网 时间:2024/06/07 21:06
1.spring mvc基本流程
     从URL接受请求及数据->DispacherServlet->根据请求调用具体的Controller->Controller->调用service方法处理数据->通过DAO访问

 db->增删改查->db->返回操作结果集->service->处理返回结果->Controller->返回具体页面和数据->jsp页面

DispacherServlet-HandlerMapping-ModleAndView-Controller-ViewResolver-View

2.spring mvc注解
     @Controller,@Service,@Repository
     @Controllers声明控制层。@Service声明服务层。@Repository声明持久层(数据传输层DAO)
     @RequestMapping把一个POJO声明为Spring里的Controller.如果不声明要写Controller类就要从Spring的Controller类继承,并重写handleRequest方法。
     @RequestMapping(value="*.htm",method=RequestMethod.GET);属性value声明Controller处理的请求,method声明处理请求的类型。可声明在类头上,也可声明在方法头上。
     @RequestParam绑定参数与请求参数;例:public String Controller(@RequestParam("id") int topicId,User user)把参数 topicld与请求的参数“id”绑定,id的值传入topicld。
     @AutoWired根据类型自动装配,可放在属性上,set方法上,构造方法上。与@AutoWierd配套使用的是@Qualifier。按名字自动装配。

     @Resource与@AutoWired类似

3.DispatcherServlet-org.springframework.web.servlet.DispatcherServlet
 负责将请求分配给控制对象,所以使用Spring MVC的第一步是在web.xml中定义DispatcherServlet;

<servlet>  <servlet-name>spring-webmvc</servlet-name>  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  <load-on-startup>1</load-on-startup></servlet><servlet-mapping>  <servlet-name>spring-webmvc</servlet-name>  <url-pattern>/</url-pattern></servlet-mapping>
可以加上contextConfigLocation的初始参数,用来设置Bean定义文件的位置和名称,默认使用“Servlet名-servlet.xml";可以加上多个bean文件的来源;如果一个都没加则找默认的;spring-webmvc-servlet.xml

<load-on-startup>标记容器是否在启动的时候就加载这个servlet,数字越小,当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载;正数的值越小,启动该servlet的优先级越高

spring-webmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">    <!-- 启用spring mvc 注解 -->    <context:annotation-config/>    <!-- 设置使用注解的类所在的jar-->    <context:component-scan base-package="com.hundsun.demo.controller">        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>    </context:component-scan>    <!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/jsp/"/>        <property name="suffix" value=".jsp"/>    </bean></beans>
base-package为注入bean时要spring要查找的包;
Controller回传ModleAndView,DispatcherServlet会交给ViewResolver解析。如:回传一个字符串“index”,解析后找到/WEB-INF/jsp/index.jsp



 



原创粉丝点击