這幾天看了有關紅茶淡定哥的相關文章

討厭鬼也想在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

arrow
arrow
    文章標籤
    springmvc
    全站熱搜

    討厭鬼 發表在 痞客邦 留言(1) 人氣()