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>

 

 

發佈了34 篇原創文章 · 獲贊 41 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章