• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 2020最新SpringMVC之小白入門HelloWorld保姆級教程

    標簽: SpringMVC  java  spring  jsp  tomcat  

    1、搭建基本環境

    在這里插入圖片描述
    在這里插入圖片描述

    導入jar包
    在這里插入圖片描述
    在類路徑下創建springmvc.xml配置文件,并設置包掃描

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
    
    	
    	<!-- 掃描所有的組件 -->
    	<context:component-scan base-package="com.dong.controller"></context:component-scan>
    
    </beans>
    
    

    項目整體架構
    在這里插入圖片描述

    配置web.xml文件
    在這里插入圖片描述

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>SpringMVC_HelloWorld</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
      
      <!-- The front controller of this Spring Web application, responsible for handling all application requests -->
    	<servlet>
    		<servlet-name>springDispatcherServlet</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<init-param>
    			<!-- contextConfigLocation:指定SpringMVC配置位置 -->
    			<param-name>contextConfigLocation</param-name>
    			<param-value>classpath:springmvc.xml</param-value>
    		</init-param>
    		
    		<!-- load-on-startup:服務器啟動的時候創建對象,值越小,優先級越高 -->
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    
    	<!-- Map all requests to the DispatcherServlet for handling -->
    	<servlet-mapping>
    		<servlet-name>springDispatcherServlet</servlet-name>
    		<!-- /*和/都是攔截所有請求
    			/*范圍更大,還會攔截*.jsp請求
    			/不會攔截jsp請求
    		 -->
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
      
    </web-app>
    

    2、編寫處理器

    更改jsp編碼
    在這里插入圖片描述

    在這里插入圖片描述

    如下圖所示,創建并編寫jsp文件和controller文件
    在這里插入圖片描述

    index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	<a href="hello">HelloWorld</a>
    </body>
    </html>
    

    success.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	入門成功!
    </body>
    </html>
    

    helloController.java

    package com.dong.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    //告訴SpringMVC這個類是一個處理器
    @Controller
    public class helloController {
    
    	/**
    	 *	/代表從當前項目下開始,處理當前項目下的請求
    	 * @return
    	 */
    	@RequestMapping("/hello")
    	public String hello() {
    		System.out.println("請求收到");
    		
    		//返回頁面地址
    		return "/WEB-INF/pages/success.jsp";
    	}
    }
    
    

    3、測試HelloWorld

    在這里插入圖片描述
    每次運行完后記得關閉,不然會一直開啟,占內存
    在這里插入圖片描述

    可能有的小伙伴覺得每次寫那么長的路徑會很麻煩,沒關系,馬上叫你解決
    在這里插入圖片描述
    在springmvc.xml配置視圖解析器

    <!-- 配置視圖解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    	<property name="prefix" value="/WEB-INF/pages/"></property>
    	<property name="suffix" value=".jsp"></property>
    </bean>
    

    在這里插入圖片描述
    運行還是成功


    4、HelloWorld總結

    HelloWorld運行流程

    1. 客戶端點擊鏈接會發http://localhost:8080/SpringMVC_HelloWorld/hello請求
    2. 來到tomcat服務器
    3. SpringMVC的前端控制器收到所有請求
    4. 來查看請求地址和RequestMapping標注的哪個匹配,以便定位
    5. 前端控制器找到了目標處理器類和目標方法,直接利用返回指向目標方法
    6. 方法執行后會有一個返回值;SpringMVC認為這個返回值就是要去的頁面
    7. 拿到方法返回值以后;用視圖解析器拼串的得到完整URL地址
    8. 拿到頁面地址,前端控制器幫我們轉發到頁面;

    覺得博主寫的不錯的讀者大大們,可以點贊關注和收藏哦,謝謝各位!

    更多文章

    在這里插入圖片描述

    版權聲明:本文為llllllkkkkkooooo原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/llllllkkkkkooooo/article/details/107897643

    智能推薦

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    styled-components —— React 中的 CSS 最佳實踐

    https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...

    猜你喜歡

    基于TCP/IP的網絡聊天室用Java來實現

    基于TCP/IP的網絡聊天室實現 開發工具:eclipse 開發環境:jdk1.8 發送端 接收端 工具類 運行截圖...

    19.vue中封裝echarts組件

    19.vue中封裝echarts組件 1.效果圖 2.echarts組件 3.使用組件 按照組件格式整理好數據格式 傳入組件 home.vue 4.接口返回數據格式...

    劍指Offer39-調整數組順序使奇數位于偶數前面

    一開始想著用冒泡排序的方法來做,但是bug還是很多,后來看了評論區答案,發現直接空間換時間是最簡單的,而且和快排的寫法是類似的。...

    【一只蒟蒻的刷題歷程】【藍橋杯】歷屆試題 九宮重排 (八數碼問題:BFS+集合set)

    資源限制 時間限制:1.0s 內存限制:256.0MB 問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。 我們把第一個圖的局面記為:12345678. 把第二個圖的局面記為:123.46758 顯然是按從上到下,從左到右的順序記錄數字,空格記為句點。 本題目的任務是已知九宮的初態...

    dataV組件容器寬高發生變化后,組件不會自適應解決方法

    項目中需要大屏幕數據展示,于是使用了dataV組件,但是使用是發現拖動瀏覽器邊框,dataV組件顯示異常,如圖: 于是查了官網,官網的解釋如下:   于是按照官網的意思編寫代碼: 于是可以自適應了...

    精品国产乱码久久久久久蜜桃不卡