springMVC核心思想

Spring MVC随后笔记:

1. MVC原理图:

 

控制器:(Servlet

模型:(JavaBean<---> 数据库

视图:(JSP

 

2. 核心点:

(1) 前端控制器(DispatcherServlet):

① 作用:接收web请求,响应结果(集中访问点);

② 实现:在web.xml文件中配置:

<!-- springmvc前端控制器 -->

  <servlet>

  <servlet-name>springmvc</servlet-name>

  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  <!-- 配置初始化参数:作用是配置springMVC配置文件的位置和名称 -->

  <init-param>

  <param-name>contextConfigLocation</param-name>

  <param-value>classpath:springmvc.xml</param-value>

  </init-param>

  </servlet>

  

  <servlet-mapping>

  <servlet-name>springmvc</servlet-name>

  <!-- 第一种:*.action,访问以.action结尾 由DispatcherServlet进行解析

        第二种:/,所以访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析 -->

  <url-pattern>*.action</url-pattern>

  </servlet-mapping>

(2)  配置Handler适配器:(配置JavaBean

① springmvc下配置:(springmvc.xml)

<bean class =

”org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter”>

</bean>

(3)  配置注解Handler映射器和适配器:

<bean class =

”org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping”> </bean>

<bean class =

”org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter”> </bean>

<-- 实际开发时使用mvc:annotation-driven -->

(4)  控制类:(可优化成注解的方式)

public class IndexController implements Controller {

Public ModelAndView handler(HttpServlet request, HttpServletResponse respomse) throws Exception{

 

ModelAndView mav = new ModelAndView(index.jsp);

mav.addObject(message, Hello Spring MVC);

return mav;

 

}

}

注:控制类实现Controller接口,提供handler方法请求

ModelAndView:视图(index.jsp)、模型(数据message,内容Hello Spring MVC

(5)  视图:(index.jsp

<h1>${message}<h1>

若要接收表单数据:

$<product.name><br>

$<product.price>

<product.jsp>

<form action=”addProduct”>

<input type=”text” name=”name” value=””><br/> “产品名称”

<input type=”text” name=”price” value=””><br/> “产品价格”

</form>

3. 采用注解方式

控制类:

@Controller  //表示是一个控制类

public class IndexController{

Public ModelAndView handler(HttpServlet request, HttpServletResponse respomse) throws Exception{

 

@RequestMapping(/index) //表示/index会映射到该方法上

ModelAndView mav = new ModelAndView(“index.jsp”);

mav.addObject(“message”, “Hello Spring MVC”);

return mav;

}

}

映射配置:

直接从包controller下扫描@Controller注解的类

<context:component-scan base-packege=”controller”>

<bean id=”” 

class=”org.springframework.web.servlet.handler.simpleUrlHandlerMapping”>

<property name=”prefix” value=”/WEB-INF/page”>

<property name=”suffix” value=”.jsp”>

</bean>

猜你喜欢

转载自blog.csdn.net/vito_7474110/article/details/79439973