2017年2月10日 星期五

JAVA-Spring MVC 入門初體驗 ( 四 )_實作

20190609 整理多餘的程式碼

前面我們有提到基本簡介
此篇就在介紹實作的部分,此篇尚未講到 Bean 部分

我們實作有以下步驟:
1 . 匯入有需要的 Jar
2 . 設定 web.xml
3 . 設定 projectName-servlet.xml
4 . 攥寫 Controller
5 . 攥寫 Jsp

將這次此專案需要的 Jar 添加至 pom.xml 內
說明 : pom 的功能比較常用於匯入網路上的 Jar
為何不直接下載?是否能確定你我他都是載同一個版本??
<dependencies>
    <!-- Spring core & mvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>4.3.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.3.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.3.1.RELEASE</version>
    </dependency>
</dependencies>


設定 web.xml
說明:
專案的進入點,所以要在這邊設定或過濾 Url 所要做的動作
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_3_1.xsd"
    version="3.1">

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

    <servlet-mapping>
        <servlet-name>HelloWeb</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>


HelloWeb-servlet.xml (這是預設格式,如需指定檔案名稱,需要另外寫設定)
設定掃描註記之對象及頁面管理規範
將 Spring MVC 的設定檔注入設定
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan base-package="com.brian.prduct.controller" />

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>

Jsp 頁面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    ${key}
</body>
</html>


其實這有點像我們之前用過的 Srvlet 只是把它用註記方法取代
說明:
@Controller 必須標注在開頭
並且將對應的 Uri 放置在對應方法的上方
package com.brian.example.controller;

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

@Controller
public class HelloController {

    @RequestMapping(value = "/hello", method = RequestMethod.GET )
    public String search(ModelMap modelMap) {
        modelMap.put("key", "hello");
        // 返回與要顯示的頁面名稱
        return "hello";
    }
    
}



我們執行剛剛所創建出來的專案 : http://localhost:8080/FirstSpring/hello















注意 : 請務必依照對應的位置擺放


























歡迎轉載,請註明出處。

沒有留言:

張貼留言