這幾天看了有關紅茶淡定哥的相關文章
討厭鬼也想在coding的時候也能這麼的淡定呀
癈話好像太多了那就~
因為這次是配置新的東西~所以討厭鬼就不拿之前的範例來繼續做了
當然環境還是跟Struts2 架構配置教學裡面一樣~
只有jar檔不一樣
jar檔有
org.springframework.web-3.1.1.RELEASE.jar
org.springframework.context-3.1.1.RELEASE.jar
org.springframework.beans-3.1.1.RELEASE.jar
org.springframework.core-3.1.1.RELEASE.jar
org.springframework.asm-3.1.1.RELEASE.jar
org.springframework.expression-3.1.1.RELEASE.jar
org.springframework.web.servlet-3.1.1.RELEASE.jar
commons-logging-1.1.1.jar
commons-fileupload-1.2.2.jar
spring的基本設定就不多說了可以去爬一下文
首先在web.xml中加入下列
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:xxxxxxxxxx.xml
classpath:xxxxxxxxxx.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>xxxx</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>xxxx</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
(上面紅字的地方名稱要一樣,藍字的地方可以看Struts2+Spring架構配置教學(Spring))
因為我在<servlet-name>controller</servlet-name>的名稱為controller
所以我在WEB-INF底下要加一個檔案叫controller-servlet.xml
當然如果你要改名字的話也是ok~但是要記得servlet的name要跟servlet-mapping的name一樣才行
討厭鬼的範例
<?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_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>springMVC</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:config/service-context.xml,
classpath:config/dao-context.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
接下來就在WEB-INF加入controller-servlet.xml
當然一些spring的基本設定就請大家去爬文!!
基本設定完了以後再加入下列
<context:component-scan base-package="xxx.xxx.xxx" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/xxxx/" />
<property name="suffix" value=".xxx" />
</bean>
---------------------------------我是分隔線-----------------------------------
<context:component-scan base-package="xxx.xxx.xxx" />這裡是你controller的package
<property name="prefix" value="/xxxx/" /> 是指你頁面存放的資料夾 (/jsp/ 就是指在WebContent底下的jsp資料夾)
<property name="suffix" value=".xxx" /> 是指你的頁面的副檔名稱 (如果是用jsp就用.jsp)
討厭鬼的範列
<?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"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd ">
<context:component-scan base-package="com.nerdy.controller" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
接下來在controller的package下新增一個java檔
並加入
@Controller
@RequestMapping("/xxxx")
@Controller為必加是要跟spring說有這個controller在
@RequestMapping("/xxxx.xxx") 為必加~會對應到網頁上的網址
若一進到這個controller就要去做某些事情
例如查資料或修改資料
可以寫建構子
或是用下列三種方式
@RequestMapping
public ModelAndView xxxx(){
//你想做的事
return new ModelAndView("xxxx");
}
ModelAndView可以回傳值到頁面上跟指定要回到哪個頁面
若進來的叫index但是想要呈現的面頁為test.jsp
就可以這樣寫return new ModelAndView("test");
or
@RequestMapping
public String xxxx(){
//你想做的事
return "xxxx";
}
直接回傳String就可以指定要回到哪個頁面
若進來的叫index但是想要呈現的面頁為test.jsp
就可以這樣寫return "test";
or
@RequestMapping
public void xxxx(){
//你想做的事
}
用void的方法就沒有辦法指定要回傳哪個頁面
如果進來的是index那回傳的頁面就是index.jsp
當然上面說的jsp頁面都要存在於一開始在設定的資料夾中
討厭鬼的範列
package com.nerdy.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/index")
public class IndexController {
@RequestMapping()
public void index(){
}
}
範列是用void所以不能指定頁面
進來的是/index
所又以在畫面上用的jsp就是WebContent底下的jsp資料夾中的index.jsp
到這邊基本上的Spring MVC已經好了
下次再發Spring MVC + hibernate的設定好了
我要去玩暗黑3了(飛奔~~~~~~~~~)
yaaaaaaaaaaaaaaaaaaaaaaaaa