Java Web整體梳理-3

簡單演示SpringMVC Contrpller

準備工作:

首先下載 Spring-Framework 的 binary 分發版本,這裏使用的是 spring-framework-4.3.8.RELEASE-dist。

然後下載 Apache 出品的 common-logging,它是 Spring 依賴的一個庫,這裏使用的是 common-logging-1.2。

關於包的下載可以去maven官網https://mvnrepository.com/搜索對應的包名,找到使用人數

最多的版本下載jar包即可。

servlet配置

首先修改web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <servlet>
        <servlet-name>MyFirstServletName</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>MyFirstServletName</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

在修改 Servlet 爲 Spring 提供的 DispatcherServlet 之外,還有兩點需注意:

  • 加入的 load-on-startup 參數,作用:告知 Container 在啓動的時候就加載這個 Servlet(而非收到請求時才加載)
  • 使用了 /* 的 wildcard URL,作用:符合 /* 的 web 路徑(即所有的請求)都將由 DispatcherServlet 處理。

編寫Controller

相比直接使用 Servlet API,編寫 Controller 更簡潔方便。
我們創建一個 MyFirstSpringController 類:

package com.skyline;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyFirstSpringController {
    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public @ResponseBody String Hello() {
        return "Hello, SpringMVC.";
    }
}

這裏使用了若干 Annotation 來簡化代碼:

  • 通過 @Controller 我們將一個普通 Java 類標記成一個 Controller 類。
  • 通過 @RequestMapping 和 @ResponseBody 我們將一個普通函數標記成可以處理 GET 請求,同時返回字符串的 Handler。

SpringMVC配置

我們編寫了一個 Controller 之後,怎麼樣讓 DispatchServlet 找到我們編寫的 Controller 呢?
SpringMVC 提供了使用 xml 配置的方法:

在 WEB-INF 文件夾下,也就是 web.xml 隔壁,(也可以在jar包內創建,則classpath的配置中“:”之前需要添加一個*)創建一個 MyFirstServletName-servlet.xml(注意命名 -servlet.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:p="http://www.springframework.org/schema/p"
    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.xsd">
        <bean class="com.skyline.MyFirstSpringController"/>
</beans>

上面的配置中,我們將編寫的 MyFirstSpringController 加入了 beans 列表,SpringMVC 就能找到我們的 Controller 並且進行初始化了。

運行

在部署完成啓動服務器後,運行截圖:
在這裏插入圖片描述

發佈了19 篇原創文章 · 獲贊 4 · 訪問量 1766
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章