1. 程式人生 > >springMVC核心思想

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>