SpringMVC入門

環(huán)境的搭建

  • 使用工具:MyEclipse, tomcat7,SpringMVC3.2

  • 新建JAVA web Project纸颜,在WEB-INF/lib下導(dǎo)入相對(duì)應(yīng)的jar包如下圖:

Paste_Image.png
  • 配置WEB-INF/web.xml:
<?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">
  <display-name>FirstWeb</display-name>
  <servlet>
    <description>JAX-RS Tools Generated - Do not modify</description>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <url-pattern>/jaxrs/*</url-pattern>
  </servlet-mapping>
  
  
  
  <!--springmvc 前端控制器 -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- contextConfigLocation配置springmvc加載的配置文件(配置處理器映射器,適配器等等) -->
    <!-- 如果不配置這個(gè)東西涮较,會(huì)默認(rèn)加載/web-inf/servlet名稱-servlet.xml -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  </servlet>
  
  
  <servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>*.action</url-pattern>
  <!-- 
  
        第一種:*.action:訪問以.action結(jié)尾由DispatcherServlet進(jìn)行解析
        第二種:/:所有的訪問都由DispatcherServlet進(jìn)行解析 候齿,對(duì)于靜態(tài)的文件的解析需要配置不讓DispatcherServlet進(jìn)行解析闺属,
        使用這種方式的可以實(shí)現(xiàn)RESTful風(fēng)格的url
        第三種:/*:這樣配置不對(duì)掂器,使用這種配置国瓮,最終都要轉(zhuǎn)發(fā)到一個(gè)jsp頁(yè)面匠楚,仍然會(huì)由DispatcherServlet進(jìn)行解析芋簿,但是不能根據(jù)jsp頁(yè)面找到headler璃饱,會(huì)報(bào)錯(cuò)荚恶。
   -->
  </servlet-mapping>
</web-app>

  • 其中我們指定了我們的前端控制器為:
<param-value>classpath:springmvc.xml</param-value>
  • 所以我們需要新建資源目錄谒撼,與src平級(jí):


    Paste_Image.png
  • 在里面新建立:springmvc.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:context="http://www.springframework.org/schema/context"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    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/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-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.0.xsd
        http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
        
        
        <!-- 配置Handler -->
        <bean name="/queryItems.action"
        class="com.ly.springmvc.controller.ItemsController1"></bean>
        
        <!-- 處理器映射器
         將bean的name做為url來進(jìn)行查找,需要在配置Handler時(shí)指定beanname
         (也就是url)
         -->
        
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
        
        <!-- 處理器適配器
            所有的適配器都要實(shí)現(xiàn)HandlerAdapter
         -->
        
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
        <!-- 視圖解析器 
            解析jsp視圖呻畸,默認(rèn)使用jstl標(biāo)簽伤为,前提是得保證classpath下得有jstl的包
        -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
</beans>
  • 基本搭建完成绞愚,那我們可以先寫一個(gè)簡(jiǎn)單的Controller:
/**
 * 實(shí)現(xiàn)Controller的接口的處理器
 * @author Ly
 *
 */
public class ItemsController1 implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest arg0,
            HttpServletResponse arg1) throws Exception {
        //調(diào)用Service查找數(shù)據(jù)庫(kù)位衩,查詢商品列表
        List<Items> list=new ArrayList<Items>();
        list.add(new Items("Ly",11111,"這是凌宇"));
        list.add(new Items("Ly1",22222,"這是凌宇1"));
        list.add(new Items("Ly2",333333,"這是凌宇2"));
        
        // 返回ModelAndView
        ModelAndView modelAndView =new ModelAndView();
        // 相當(dāng)于request的setAttribut,在jsp頁(yè)面中通過itemsList獲取數(shù)
        modelAndView.addObject("itemsList",list);
        // 指定視圖
        modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
        return modelAndView;
    }

}
  • 由于我們指定了一個(gè)jsp目錄哪痰,所以我們?cè)谀夸浵滦陆⒁粋€(gè)jsp:
Paste_Image.png
  • 運(yùn)行后得到結(jié)果:


    Paste_Image.png

使用注解模式

在上面的配置都是非注解模式晌杰,那么我們可以使用注解模式來進(jìn)行開發(fā):

<!-- 以上為非注解的東西筷弦,下面為注解的配置 -->
        <!-- 注解映射器 -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
        
        <!-- 注解適配器 -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抑诸,一起剝皮案震驚了整個(gè)濱河市爹殊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌梗夸,老刑警劉巖层玲,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辛块,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡铅碍,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門尘盼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人呜魄,你說我怎么就攤上這事【粜幔” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵睹晒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我伪很,道長(zhǎng)锉试,這世上最難降的妖魔是什么猫十? 我笑而不...
    開封第一講書人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任呆盖,我火速辦了婚禮,結(jié)果婚禮上应又,老公的妹妹穿的比我還像新娘宙项。我一直安慰自己株扛,他們只是感情好汇荐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開白布盆繁。 她就那樣靜靜地躺著,像睡著了一般改基。 火紅的嫁衣襯著肌膚如雪繁疤。 梳的紋絲不亂的頭發(fā)上秕狰,一...
    開封第一講書人閱讀 51,231評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音架忌,去河邊找鬼。 笑死我衬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的挠羔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼破加,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了范舀?” 一聲冷哼從身側(cè)響起合是,我...
    開封第一講書人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤聪全,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辅辩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡玫锋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了景醇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吝岭。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡三痰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出散劫,到底是詐尸還是另有隱情稚机,我是刑警寧澤获搏,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站常熙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏裸卫。R本人自食惡果不足惜仿贬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一墓贿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧聋袋,春花似錦队伟、人聲如沸幽勒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至干毅,卻和暖如春宜猜,著一層夾襖步出監(jiān)牢的瞬間硝逢,已是汗流浹背姨拥。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工叫乌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徽缚。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像凿试,于是被迫代替她去往敵國(guó)和親似芝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 額(⊙o⊙)…繼續(xù)記筆記党瓮。。寞奸。看看SpringMVC從入門到放棄之第一章Web MVC簡(jiǎn)介一個(gè)在實(shí)驗(yàn)室的時(shí)候就是這...
    鍵盤瞎閱讀 2,091評(píng)論 2 10
  • 前言 做JavaWeb 開發(fā)的你在跳,一定聽說過SpringMVC的大名,作為現(xiàn)在運(yùn)用最廣泛的Java框架猫妙,它到目前為...
    ITsupuerlady閱讀 1,134評(píng)論 1 15
  • 一.SpringMVC是什么 Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)...
    zlb閱讀 379評(píng)論 0 2
  • SpringMVC_入門搭建 @(開源框架) 8步詳解SpringMVC集成Maven、Tomcat 步驟簡(jiǎn)介 基...
    劍御閱讀 671評(píng)論 0 0
  • 咱家終于摸著手機(jī)了吐咳,說些什么呢?沒什么話題韭脊,我在看湖南新聞聯(lián)播童谒,你們哩沪羔?沒那么衰了,呵呵蔫饰,舒服些了琅豆,不然總一副倒霉...
    1大太陽(yáng)閱讀 128評(píng)論 0 0