javascript
SpringMVC学习01之回顾Servlet
前言
ssm : mybatis + Spring + SpringMVC MVC三層架構
前提:
JavaSE:認真學習
JavaWeb:認真學習
后期如何學習:
SSM框架:研究官方文檔,鍛煉自學能力,鍛煉筆記能力,鍛煉項目能力
SpringMVC + Vue + SpringBoot + SpringCloud + Linux
今天我們只學習ssm框架中的最后一個:SpringMVC
一、回顧MVC是什么?
- MVC是模型(Model)、視圖(View)、控制器(Controller)的簡寫,是一種軟件設計規范。
- 是將業務邏輯、數據、顯示分離的方法來組織代碼。
- MVC主要作用是降低了視圖與業務邏輯間的雙向偶合。
- MVC不是一種設計模式,MVC是一種架構模式。當然不同的MVC存在差異。
Model(模型):數據模型,提供要展示的數據,因此包含數據和行為,可以認為是領域模型或JavaBean組件(包含數據和行為),不過現在一般都分離開來:Value Object(數據Dao) 和 服務層(行為Service)。也就是模型提供了模型數據查詢和模型數據的狀態更新等功能,包括數據和業務。
View(視圖):負責進行模型的展示,一般就是我們見到的用戶界面,客戶想看到的東西。
Controller(控制器):接收用戶請求,委托給模型進行處理(狀態改變),處理完畢后把返回的模型數據返回給視圖,由視圖負責展示。也就是說控制器做了個調度員的工作。
SSM = JavaWeb做項目;
Mybatis:數據庫操作,底層操作
Spring : IOC和AOP
SpringMVC: SpringMVC的執行流程!SpringMVC : SSM框架整合!
二、使用步驟
1.準備的環境
(1)新建一個Maven工程當做父工程!pom依賴!
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency> </dependencies>(2)添加Web app的支持!
(3)導入servlet 和 jsp 的 jar 依賴
2.編寫代碼
編寫一個Servlet類,用來處理用戶的請求
package com.shan.servlet;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;public class HelloServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String username = req.getParameter("username");String password = req.getParameter("password");String method = req.getParameter("method");if (method.equals("登錄")){if (username.equals("zxs")&&password.equals("111")){req.getSession().setAttribute("msg","登錄成功");req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req,resp);}else {req.getSession().setAttribute("msg","密碼不正確或帳戶名不正確");req.getRequestDispatcher("index.jsp").forward(req,resp);}}else if (method.equals("注冊")){req.getSession().setAttribute("msg","進入到注冊頁面");req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req,resp);}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }歡迎頁index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html><head><title>系統</title></head><body><form method="get" action="/hs">帳戶 : <input type="text" name="username"><br>密碼 : <input type="password" name="password"><br><input type="submit" name="method" value="登錄" > <input type="submit" name="method" value="注冊"></form><p style="color: red"> ${msg} </p></body> </html>在web-inf下創建一個jsp目錄,在jsp里面創建要跳轉到的hello.jsp這個頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>servlet</title> </head> <body> ${msg} </body> </html>在web.xml中注冊Servlet
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><servlet><servlet-name>HelloServlet</servlet-name><servlet-class>com.shan.servlet.HelloServlet</servlet-class></servlet><servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/hs</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>配置Tomcat,并啟動測試
localhost:8080
3.測試
在這里進行一個方法判斷,如果你點擊了登錄就會進行登錄判斷,若帳戶和密碼不正確則會顯示密碼不正確或帳戶名不正確
如果你點擊了注冊按鈕則會跳轉到注冊頁面(這里注冊功能沒有實現,由于是回顧Servlet,不需要數據庫,也沒去實現注冊功能)
如果帳戶密碼正確則登陸成功
作者有話說
博客創作不易,希望看到這里的讀者動動你的小手點個贊,如果喜歡的小伙伴可以一鍵三連,作者大大在這里給大家謝謝了。
總結
以上是生活随笔為你收集整理的SpringMVC学习01之回顾Servlet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring学习12之整合Mybatis
- 下一篇: SpringMVC学习03之使用注解开发