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
- Spring5原始碼 - Spring IOC 註解複習Spring原始碼
- MVC框架MVC框架
- Spring5原始碼解析_IOC之容器的基本實現Spring原始碼
- 5.1 Spring5原始碼--Spring AOP原始碼分析一Spring原始碼
- 2.2 spring5原始碼 -- ioc載入的整體流程Spring原始碼
- Spring5原始碼解析系列一——IoC容器核心類圖Spring原始碼
- 5.2 Spring5原始碼--Spring AOP原始碼分析二Spring原始碼
- 學習Spring5 WebFlux這一篇就夠了SpringWebUX
- Spring5原始碼解析-Spring中的非同步事件Spring原始碼非同步事件
- Spring5:@Autowired註解、@Resource註解和@Service註解Spring
- MVC字串處理及MVC@RenderSection小計MVC字串
- [ASP.NET MVC 小牛之路]01 - 理解MVC模式ASP.NETMVC模式
- 從MVC框架看MVC架構的設計MVC框架架構
- MVC,MVP,MVVMMVCMVPMVVM
- MVC——MVP——MVVMMVCMVPMVVM
- mvc架構MVC架構
- MVC模式原理MVC模式
- Spring MVCSpringMVC
- 淺談mvcMVC
- MVC、MVP、MVVMMVCMVPMVVM
- spring - mvcSpringMVC
- 5.3 Spring5原始碼--Spring AOP使用介面方式實現Spring原始碼
- Spring MVC 零配置 / Spring MVC JavaConfigSpringMVCJava
- ASP.NET MVC 4使用PagedList.Mvc分頁ASP.NETMVC
- spring mvc即mvc攔截器例項(1)SpringMVC
- MVC2 ,MVC3 ,MVC4,MVC5的區別,EF的各個版本的區別;LocalDB是個啥MVC
- Webform和MVC,為什麼MVC更好一些?WebORMMVC
- Spring5原始碼深度分析(二)之理解@Conditional,@Import註解Spring原始碼Import
- 萬字長文詳解Spring5架構教程,還不懂你打我!!Spring架構
- spring5原始碼-ioc抽象層次設計 與 aop流程理解Spring原始碼抽象
- 3.4 spring5原始碼系列--迴圈依賴的設計思想Spring原始碼
- 深入淺出——MVCMVC