1. 程式人生 > >SpringMVC實戰教程 | 第一篇:一個在JSP頁面輸出“HelloWorld”的Spring MVC例項

SpringMVC實戰教程 | 第一篇:一個在JSP頁面輸出“HelloWorld”的Spring MVC例項

配置web.xml

作用:裝載DispatcherServlet類,讀取Spring配置檔案,設定一些初始化引數,加入標記庫,設定比如 * .do 、* .form的對映等。

<servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 初始化引數 -->
<init-param> <param-name>contextConfigLocation</param-name> <param-value>location</param-value> </init-param> <!-- load-on-startup值決定Servlet載入順序,值小優先 --> <load-on-startup>1</load-on-startup> </servlet
>
<!-- servlet-mapping用於根據Servlet的URL來攔截請求的 下面攔截所有以do結尾的請求 --> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>

編寫JSP頁面index.jsp

<%@ page contentType="text/html;charset=UTF-8"
language="java" %>
<html> <head> <title>第一個Spring MVC例項</title> </head> <% String str= (String) request.getAttribute("helloWorld"); %> <body> <h1><%=str%></h1> </body> </html>

編寫控制器HelloWorldAction.java

在Spring裡,所有的控制器最終都可以看作是實現了Controller介面

//實現了Controller介面
public class HelloWorldAction implements Controller {
    private Logger logger = Logger.getLogger(this.getClass().getName());
    private String helloWorld;
    private String viewPage;

    public String getHelloWorld() {
        return helloWorld;
    }
    //依賴注入顯示在頁面的文字
    public void setHelloWorld(String helloWorld) {
        this.helloWorld = helloWorld;
    }

    public String getViewPage() {
        return viewPage;
    }
    //依賴注入要返回的頁面
    public void setViewPage(String viewPage) {
        this.viewPage = viewPage;
    }

    @Override
    public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest,
                                      javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {

        Map model=new HashMap();
        model.put("helloWorld", getHelloWorld());
        ModelAndView modelAndView=new ModelAndView(getViewPage(),model);
        //返回的ModelAndView用於顯示返回的頁面和頁面上的內容
        return modelAndView;

    }
}

配置Spring文件dispatcherServlet-servlet.xml

  <!-- 定義對映,對helloWorld.do的訪問將會對映到id為helloWorldAction的Bean中 -->
    <bean id="urlMapping"
          class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="helloWorld.do">helloWorldAction</prop>
            </props>
        </property>
    </bean>

    <!-- 定義檢視解析器,通過viewClass屬性來指定使用的檢視 -->
    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.InternalResourceViewResolver</value>
        </property>
    </bean>
    <!-- 定義控制器 -->
    <bean id="helloWorldAction" class="spring.mvc.HelloWorldAction">
        <property name="helloWorld">
            <value>HelloWorld</value>
        </property>
        <!-- 依賴注入返回的頁面-->
        <property name="viewPage">
            <value>/index.jsp</value>
        </property>
    </bean>

相關推薦

SpringMVC實戰教程 | 第一一個JSP頁面輸出HelloWorld”的Spring MVC例項

配置web.xml 作用:裝載DispatcherServlet類,讀取Spring配置檔案,設定一些初始化引數,加入標記庫,設定比如 * .do 、* .form的對映等。 <servlet> <servlet-nam

CodeIgniter 入門教程第一信息發布

per 所有 控制 知識點 image doc ref har 提交 一、MVC CodeIgniter 采用MVC架構即:控制層、模型層和視圖層。 對應Application下面的文件夾 (圖1): 所有新建文件以.php結尾 視圖層

業余草 SpringCloud 教程 | 第一 服務的註冊與發現Eureka(Finchley版本)

只需要 版本控制 aps 選擇 framework 電腦 右鍵 org -c 一、spring cloud簡介 鑒於《史上最簡單的Spring Cloud教程》很受讀者歡迎,再次我特意升級了一下版本,目前支持的版本為Spring Boot版本2.0.3.RELEASE,S

nginx教程第一nginx安裝、配置

一、簡介 為什麼選擇Nginx? 更快 這表現在兩個方面: 一方面, 在正常情況下, 單次請求會得到更快的響應; 另一方面, 在高峰期( 如有數以萬計的併發請求) , Nginx可以比其他Web伺服器

Spring Cloud系列教程 | 第一微服務架構演進

架構的演變過程: 單體架構——>垂直架構——>soa面向服務架構——>微服務架構 我們為什麼要使用Spring Cloud? 單體架構 在網站開發的前期,專案面臨的流量相對較少,單一應用可以實現我們所需要的功能,從而減少開發、部署和維護的難度。

史上最簡單的 SpringCloud 教程 | 第一 服務的註冊與發現(Eureka)

一、spring cloud簡介 spring cloud 為開發人員提供了快速構建分散式系統的一些工具,包括配置管理、服務發現、斷路器、路由、微代理

史上最簡單的 SpringCloud 教程 | 第一 服務的註冊與發現Eureka(Finchley版本)

一、spring cloud簡介 鑑於《史上最簡單的Spring Cloud教程》很受讀者歡迎,再次我特意升級了一下版本,目前支援的版本為Spring Boot版本2.0.3.RELEASE,Spring Cloud版本為Finchley.RELEASE。

SpringBoot進階教程 | 第一YML多文件塊實現多環境配置

你是否為SpringBoot一個功能多個yml和多個properties檔案區分不同執行環境配置,經常為這些配置檔案的管理而頭疼,現在通過這篇文章,將徹底解決你的煩惱,這篇文篇介紹,怎麼通過yml檔案構建多文件塊,區分不同環境配置,自由切換不同環境啟動專案,一個

SpringCloud 教程 | 第一 服務的註冊與發現(Eureka)

一、spring cloud簡介spring cloud 為開發人員提供了快速構建分散式系統的一些工具,包括配置管理、服務發現、斷路器、路由、微代理、事件匯流排、全域性鎖、決策競選、分散式會話等等。它執行環境簡單,可以在開發人員的電腦上跑。另外說明spring cloud是基

Tomcat 一個簡單的Servlet容器+Spring MVC響應流程

Spring Web MVC 處理Http請求的大致過程: 一旦Http請求到來,DispatcherSevlet將負責將請求分發。 DispatcherServlet可以認為是Spring提供的前端控制器,所有的請求都有經過它來統一分發。 在DispatcherServlet將請求分發給Spring Con

Linux實戰第一Centos6.9/RHEL6.9詳細安裝攻略(LVM)

linux個人筆記分享(在線閱讀):http://note.youdao.com/noteshare?id=bb2ad6216bff8cddaa3e360c76392c9b PDF版本下載http://down.51cto.com/data/2321269本文出自 “人才雞雞” 博客,請務必保留此出處http

Shell實戰第一自動批量創建用戶並配置保存自定義密碼

shell個人筆記分享(在線閱讀):http://note.youdao.com/noteshare?id=c4ee31bdcef0d28ec525bed113c93763&sub=CFE5180F8455421E9D5252FEC98AB1EDShell實戰第一篇:自動批量創建用戶並配置保存自定義密碼

Matlab高級教程_第一Matlab基礎知識提煉_04

訪問 str val 函數句柄 8.4 body tro mat AI 第八節:幾大MATLAB的數據類型 8.1 數值型 8.2 字符和字符串 創建用‘ ‘ 8.3 函數句柄 8.4 結構體 創建用. 語法:struct(‘field‘, var1,‘field2‘,

Matlab高級教程_第一Matlab基礎知識提煉_05

ron info ima image 數組 技術 gpo pos bsp 第九節:矩陣的操作 第十節:數組與矩陣 linspace函數 Matlab高級教程_第一篇:Matlab基礎知識提煉_05

SwingLookAndFeel 教程第一——手把手教你寫出自己的 LookAndFeel

畢業 lean 能開 AC alc 我不 cli private 基礎 本文是 LookAndFeel 系列教程的第一篇。 是我在對 Swing 學習摸索中的一些微

史上最簡單的 SpringCloud 教程第一 服務的註冊與發現(Eureka)

add 過程 sdn 需要 2.3 boot one ini tail 最新Finchley版本請訪問:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f1-eureka/或者http://blog.csdn.n

SpringBoot學習第一構建第一個SpringBoot工程

https://www.fangzhipeng.com/springboot/2017/07/11/springboot1 本文出自方誌朋的部落格   簡介spring boot 它的設計目的就是為例簡化開發,開啟了各種自動裝配,你不想寫各種配置檔案,引入相關的依賴就能迅速搭建起一

一起來學SpringBoot | 第一構建第一個SpringBoot工程

文章目錄 1. 設計的目標 2. 前提 3. 建立專案 3.1. 目錄結果 3.2. pom.xml 依賴 3.3. 主函式入口 3.4. 初窺配置檔案 3.5. 測試 4. 拓展知識 4.1. 自定義Banner 5. 總結 6. 說點什麼

第一微信公眾平臺開發實戰Java版之瞭解微信公眾平臺基礎知識以及資料準備

相信很多人或多或少聽說了微信公眾平臺的火熱。但是開發還是有一點門檻,鑑於挺多朋友問我怎麼開發,問多了,自己平時也進行以下總結。 所以下面給大家分享一下我的經驗: 第一部分   介紹微信公眾號的一些簡單介紹以及微信扮演的一些角色,微信公眾號的重要性。 1. 微信公眾號是什麼?    官網

vue+uni-app商城實戰 | 第一【有來小店】微信小程式快速開發接入Spring Cloud OAuth2認證中心完成授權登入

![](https://i.loli.net/2020/10/25/Ns1Ep6wqyV9MrYx.gif) # 一. 前言 本篇通過實戰來講述如何使用uni-app快速進行商城微信小程式的開發以及小程式如何接入後臺Spring Cloud微服務。 有來商城 [youlai-mall](https://