1.請先下載所需要的 jar
2.將上述 jar 檔案放到 WEB-INF/lib 中

3. 打開在 WEB-INF 中的 web.xml 加入 spring 的設定
<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
4.在 WEB-INF 中加入 dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
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-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="com.tcg.action" />
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/"
p:suffix=".jsp"/>
</beans>
上方的 <context:component-scan base-package=”com.tcg.action” />
spring 會自動掃描該 package 中的 class
5. 接著要寫Java 程式了, 也就是在 com.tcg.action 中寫上 spring 的 controll
package com.tcg.action;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
@Controller
@SessionAttributes("carmemberid")
public class LoginAction {
@RequestMapping("login")
public String hello(@RequestParam(value = "carmemberid" ) String carmemberid ,
@RequestParam(value = "paswd", required = false ) String paswd
, Model m) {
String nextPage ="login";
if(paswd!= null){
m.addAttribute("paswd", paswd);//使用範圍 request
m.addAttribute("carmemberid", carmemberid); //使用範圍 session
}else{//使用者不存在
nextPage ="reLogin";
}
return nextPage;
}
}
- 在class 上方宣告 @Controller 表示要將此class 設定為 spring MVC 中的 controll。
- 宣告@SessionAttributes(“carmemberid”) 表示程式內會設定 carmemberid 設定到 session 中, 當執行此行會將值設定完成 m.addAttribute(“carmemberid”, carmemberid);
- method 上方宣告 @RequestMapping(“login”) 表示執行的網址
- method 中的參數(@RequestParam(value = “carmemberid” ) String carmemberid ,
@RequestParam(value = “paswd”, required = false ) String paswd
, Model m) - @RequestParam 表示網頁傳來的參數名稱 ,預設是一定會有傳過來, 若沒有傳的話, 會有錯誤訊息發生。
- @RequestParam(value = “paswd”, required = false ) 表示此參數, 不一定需要傳過來。
- Model m => 可以將訊息或是物件設定進去, 前端即可使用或顯示。
6. 程式內最後回傳兩個值 login or reLogin 因此, 我們需要準備兩個 jsp
login.jsp and reLogin.jsp
可以在 login.jsp 中使用 EL 語法 即可顯示 放在 model 中的資料
如: ${carmemberid} ${paswd}
7.網址中輸入 login.do => 會發生錯誤 因為需要有 carmemberid 的參數
所以最好輸入為 login.do?carmemberid=00001 或是 login.do?carmemberid=00001&paswd=1234