Spring5 MVC
1、客戶端<------> 展示層<------> 業務邏輯層<------> 資料訪問層
展示層:jsp,servlet,springMvc業務邏輯層:javaBean,Spring;資料訪問層:JDBC,Mybatis
2、客戶端------>控制器(controller(servlet,srpngMvc,springMvc來代替了servlet))<------> 模型(Model)
控制器(controller)—>展示層---->客戶端
基礎servlet例子
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 判斷是什麼請求 進行請求方法的排程 login() regiester();
//獲取的引數,將引數拼裝到javaBean中,請求資料庫,響應
if(req.getParameter("action").equals("login")){
login(req,resp);
}
}
}
/**
* 登入
* @param req
* @param resp
*/
private void login(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding("UTF-8");
// 獲取的引數
String username = req.getParameter("username");
System.out.println(username);
// 將引數拼裝到JavaBean
// 請求資料庫
resp.sendRedirect("index.jsp");// 重定向,響應到index頁面
}
要使得servlet生效
<?xml version="1.0" encoding="UTF-8"?>
<web-app xxxx">
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>cn.xxxx.servlets.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
</web-app>
配置tomcat,書寫index檔案就可以完成了;編碼很多,我們要做很多繁雜的動作;
SpringMvc
springMvc是構建在Servlet API的原始Web框架上的;
springMvc優點:輕量級、可適配,非侵入,簡單易學,spring相容好,約定優於配置,
功能強大:靈活的URL對映,RESTful,資料驗證、格式化、本地化、主題標籤庫等;
DispatcherServlet
springMvc具體流程
1、傳送請求到DispatcherServlet(前端控制器)
2、請求處理器對映器(HandlerMapping),返回Handler到DispatcherServlet
3、呼叫處理器介面卡執行Handler,先到了處理器介面卡這裡(HandlerAdapter這裡)
4、處理器介面卡呼叫Hander處理器(後端控制器),經過後端處理,返回一個ModelAndView到處理器介面卡再到DispatcherServlet
5、DispatcherServlet傳送返回回來的ModelAndView到ViewReslover檢視解析器,返回View(檢視),到前端控制器
6、前端控制器把View拿去渲染,渲染完畢返回前端控制器
7、前端控制器把檢視資訊返回相應給使用者;
用idea工具生成web資料夾,在web.xml新增依舊新增servlet
<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:spring-mvc.xml</param-value>
</init-param>
<!--啟動時載入servlet :
當web伺服器 啟動時就會建立servlet(會自動呼叫servlet的建構函式及init()方法)
-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
配置url-pattern為/除了jsp的檔案其他所有的請求都攔截下來;
把所有的控制器注入到IOC容器當中;
相關文章
- Spring5基礎Spring
- Spring5的框架概述Spring框架
- 我如何看Spring5?Spring
- Spring5(七)——AOP註解Spring
- ❀ Spring5學習大總結Spring
- Spring5的WebFlux跟WebMvc對比SpringWebUXMVC
- (!ori)MVCMVC
- MVC框架MVC框架
- spring - mvcSpringMVC
- Spring5原始碼 - Spring IOC 註解複習Spring原始碼
- The prefix “mvc“ for element “mvc:default-servlet-handler“ is not bound.MVCServlet
- MVC字串處理及MVC@RenderSection小計MVC字串
- Python之MVCPythonMVC
- MVC——MVP——MVVMMVCMVPMVVM
- spring mvc interceptorsSpringMVC
- spring - mvc - @ScheduledSpringMVC
- spring - mvc - @ValidSpringMVC
- MVC,MVP,MVVMMVCMVPMVVM
- mvc架構MVC架構
- MVC Search 4MVC
- 5.1 Spring5原始碼--Spring AOP原始碼分析一Spring原始碼
- 5.2 Spring5原始碼--Spring AOP原始碼分析二Spring原始碼
- Spring Boot + Mybatis + Spring MVC環境配置(四):MVC框架搭建Spring BootMyBatisMVC框架
- 深入理解MVCMVC
- MVC所有的ActionResultMVC
- Spring MVC學習SpringMVC
- 深入淺出——MVCMVC
- Spring MVC基礎SpringMVC
- Spring MVC1SpringMVC
- Spring MVC 簡述SpringMVC
- iOS開發-MVCiOSMVC
- Spring MVC應用SpringMVC
- MVC 手動 4MVC
- 2.2 spring5原始碼 -- ioc載入的整體流程Spring原始碼
- Spring5原始碼深度解析(一)之理解Configuration註解Spring原始碼
- Spring5原始碼解析_IOC之容器的基本實現Spring原始碼
- Spring5原始碼解析系列一——IoC容器核心類圖Spring原始碼
- 學習Spring5 WebFlux這一篇就夠了SpringWebUX