1. 程式人生 > >day64_SpringMVC學習筆記_02

day64_SpringMVC學習筆記_02

1、springmvc對多檢視的支援

(1)匯入xml格式檢視支援的jar包

  注意:springmvc本身就支援xml格式,所以不用匯入其他支援的jar包了。

(2)在springmvc.xml中配置支援多檢視

    <!-- 配置支援多檢視 -->    <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">        <!-- 配置支援的媒體型別 -->        <!-- spring3.2後改成如下配置 -->
        <property name="contentNegotiationManager">            <bean class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">                <!-- 指定多個媒體型別 -->                <property name="mediaTypes">                    <map>                        <entry
 key="json" value="application/json">
</entry>                        <entry key="xml" value="application/xml"></entry>                        <!-- <entry key="pdf" value="application/pdf"></entry> 需要額外的jar包 -->                    </map>                </property
>
            </bean>        </property>        <!-- 指定預設的檢視 -->        <property name="defaultViews">            <!-- 支援多個檢視 -->            <list>                <!-- 對json格式檢視的支援 -->                <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"></bean>                <!-- 對xml格式檢視的支援,需要注入建構函式,需要一個jar包:spring-oxm-3.2.0.RELEASE.jar -->                <bean class="org.springframework.web.servlet.view.xml.MarshallingView">                    <constructor-arg>                        <bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">                            <!-- 配置對哪些類進行xml轉換的支援,即繫結多個類,演示程式碼中我們只綁定了一個類 -->                            <property name="classesToBeBound">                                <list>                                    <!-- 注意:需要在繫結的類中加入對xml格式檢視轉換的註解:@XmlRootElement -->                                    <value>com.itheima.domain.User</value>                                </list>                            </property>                        </bean>                    </constructor-arg>                </bean>            </list>        </property>    </bean>

  小結:通過以上配置,模擬了WebService對多檢視的支援的功能。(3)配置javabean,即在繫結的類User中加入對xml格式檢視轉換的註解:@XmlRootElement

(4)在web.xml中配置約定訪問的url
    <servlet-mapping>        <servlet-name>springmvc</servlet-name>        <url-pattern>/rest/*</url-pattern>    </servlet-mapping>

(5)定義Controller

    // 多檢視支援    // 返回的是物件,把返回的物件轉換成json格式檢視和xml格式的檢視    @RequestMapping("multiView")    public User multiView() {        User user1 = new User();        user1.setId(1);        user1.setUsername("曉藝");        user1.setAge("26");        user1.setAddress("物資學院");        user1.setBirthday(new Date());        return user1;    }

(6)訪問  根據官方文件約定:訪問的時候需要加上響應的副檔名。  即:訪問json格式的資料,需要加上json副檔名;訪問html格式的資料,需要加上html的副檔名;訪問xml格式的資料,需要加上xml的副檔名。  根據我們web.xml檔案的訪問約定:副檔名.do是訪問jsp頁面的。  我們約定rest目錄下所有以json和xml副檔名都支援相應的檢視。

我們訪問json格式資料的訪問形式如下:

我們訪問xml格式資料的訪問形式如下:

(7)<mvc:annotation-driven/>

    <mvc:annotation-driven/> 預設建立:註解處理器對映器、註解處理器介面卡、並提供對json格式資料的支援。

在springmvc.xml中進行配置:

    <!-- 表示預設建立:處理器對映器物件、處理器對映器物件,還表示預設啟動json格式資料的支援 -->    <mvc:annotation-driven />

但是注意:此時javaBean不能添加註解@XmlRootElement了。@XmlRootElement表示提供對xml檢視支援。

2、SSM整合小案例

2.0、需求

  • 實現商品查詢列表,從mysql資料庫中查詢商品資訊。

2.1、使用eclipse,建立一個動態web工程並匯入jar包

  • 其中Dynamic web module version版本選擇 2.5,這樣相容性好一些;
  • Default output folder設定為 WebRoot\WEB-INF\classes
  • Content directory設定為 WebRoot
  • 更改JRE System Library[J2SE-1.5]為 JRE System Library[jre1.7.0_80]
  • 刪掉沒用的庫:EAR Libraries
  • 增加伺服器執行環境庫 Server Runtime,不然jsp檔案會報錯。
  • 建立完專案後,將整個專案的編碼改為UTF-8。
  • 操作步驟:選中專案右鍵 --> Properties --> Resource --> Text file encoding --> Other中選擇UTF-8。
  • 對於動態的java web專案,為了工程目錄結構的清爽,我們將引入的jar包放到“Web App Libraries”中,可以通過“小三角”選擇是否“Show 'Referenced Libraries' Node ”進行調節。
  • 對於普通的java專案,為了工程目錄結構的清爽,我們將引入的jar包放到“Referenced Libraries”中,可以通過“小三角”選擇是否“Show 'Referenced Libraries' Node ”進行調節。

匯入jar包  包括:spring(包括springmvc)、mybatis、mybatis-spring整合包、資料庫驅動、第三方連線池、jstl、c3p0管理資料來源、log4j、junit。  參考:“mybatis與springmvc整合全部jar包”目錄。

本次案例共匯入28個jar包。如下圖所示:

2.2、web.xml配置檔案(入口)

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"    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>day63_SpringMVC_01</display-name>    <!-- 配置spring編碼過濾器 -->    <filter>        <filter-name>characterEcoding</filter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>UTF-8</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>characterEcoding</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <!-- 配置前端控制器:DispatcherServlet -->    <servlet >        <servlet-name>springmvc</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <!-- 顯示配置載入springmvc.xml檔案,即配置springmvc.xml檔案的初始化引數 -->        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath:springmvc.xml</param-value>        </init-param>    </servlet>    <!-- 配置servlet攔截副檔名 -->    <servlet-mapping>        <servlet-name>springmvc</servlet-name>        <url-pattern>*.do</url-pattern>    </servlet-mapping>    <!-- 配置servlet攔截目錄 -->    <servlet-mapping>        <servlet-name>springmvc
            
           

相關推薦

day64_SpringMVC學習筆記_02

1、springmvc對多檢視的支援 (1)匯入xml格式檢視支援的jar包   注意:springmvc本身就支援xml格式,所以不用匯入其他支援的jar包了。 (2)在springmvc.xml中配置支援多檢視     <!-- 配置支援多檢視 -->    <bean 

Hibernate學習筆記_02

提交 dao層 .get cti log www 並且 open cglib 上篇文章(傳送門:Hibernate學習筆記_01)介紹了Hibernate是什麽,如何搭建,配置文件詳解以及Hibernate的一些基本API詳解這幾個方面做了簡單介紹,那麽本文將會從一下5

Flask_學習筆記_02: URL和檢視

今天來學習Flask中URL和檢視的相關知識。 URL不多說了,訪問網站,瀏覽器中的地址大家都可以看到,比如我的51CTO的blog網址是:http://blog.51cto.com/jiaszwx 如果你在位址列裡敲:http://blog.51cto.com/ 那麼瀏覽器返回的是51CTO部落格的主頁

Flask_學習筆記_02: URL和視圖

通過 輸入 從數據 -o easy 技術分享 welcome 參數 直接 今天來學習Flask中URL和視圖的相關知識。 URL不多說了,訪問網站,瀏覽器中的地址大家都可以看到,比如我的51CTO的blog網址是:http://blog.51cto.com/jiaszwx

Flask_學習筆記_02: 頁面跳轉

頁面跳轉是網頁開發中需要實現的最基本的一個功能,使用者點選頁面中的一個超連結或者按鈕,就會跳轉到一個新頁面。那麼在Flask當中是如何實現的呢? 在下面的例子中,也會用到url_for(),還有另外一個redirect。目前幾乎所有的網站都需要使用者登入,才能釋出新內容或者做相關的更改。下面就以使用者要釋出

SpringMVC學習筆記_02

1、springmvc對多檢視的支援 (1)匯入xml格式檢視支援的jar包   注意:springmvc本身就支援xml格式,所以不用匯入其他支援的jar包了。 (2)在springmvc.xml中配置支援多檢視     <!-- 配置支援

day43_Oracle學習筆記_02

八、子查詢 示例程式碼如下:子查詢.txt SQL> --rownum 行號SQL> select rownum,empno,ename,sal from emp;    ROWNUM      EMPNO ENAME             SAL                    

day46_Webservice學習筆記_02

一、回顧昨天所學 什麼是webservice?    什麼是遠端呼叫技術?答:系統和系統之間的呼叫,從遠端系統當中獲取業務資料。    Webservice是web服務,他是用http傳輸SOAP協議資料的一種遠端呼叫技術。Webservice的入門程式    服務端        第一步:建立SEI介

day62_Mybatis學習筆記_02

今天內容安排: 1、高階結果對映(一對一、一對多、多對多)(重點) 2、延遲載入 3、查詢快取 4、Spring 和 mybatis 的整合(重點) 5、逆向工程 1、高階結果對映(即:關聯查詢對映)(重點) 1.1、分析資料模型 1.1.1、思路 1、每張表記錄

OpenGL_Qt學習筆記_02(繪製簡單平面幾何圖形)

#include "glwidget.h" #include "ui_glwidget.h" #include <QtGui> #include <QtCore> #include <QtOpenGL> #ifndef GL_MULTISAMPLE #define

Robot Operating System (ROS)學習筆記4---語音控制

sla 語音 出現 tput http 學習 process 輸入 ubun 搭建環境:XMWare Ubuntu14.04 ROS(indigo) 轉載自古月居 轉載連接:http://www.guyuehome.com/260 一、語音識別包 1、安裝

MySQL學習筆記(六)—— MySQL自連接

概念 cor 子查詢 ron 表操作 例子 質量 _id order by 有的時候我們需要對同一表中的數據進行多次檢索,這個時候我們可以使用之前學習過的子查詢,先查詢出需要的數據,再進行一次檢索。 例如:一張products表,有產品id,供應商id(vend_

jquery 深入學習筆記之中的一個 (事件綁定)

color 動態 name his pan mouseover this pre con 【jquery 事件綁定】 1、加入元素事件綁定 (1) 加入事件為當前元素 $(‘p‘).on(‘click‘,function(){ //code here ..

AngularJS入門學習筆記

rect directive 技術分享 attr 兩個 ava 內容 module 大括號 首先聲明: 本博客源自於學習:跟我學AngularJs:AngularJs入門及第一個實例。通過學習,我自己的一些學習筆記。 1.AngularJS的一些基本特性 (1)使用雙大括號

Python學習筆記-2017.5.4

列表 lin 覆蓋範圍 復習 處理 pytho 內部 global txt 本文章記錄學習過程中的細節和心得: 復習所學課程: 1、文件的操作:   打開文件,對文件的操作打開方式有兩種:   第一種:      f = open("test.txt", "r")#以只讀

SAS學習筆記之函數應用

不能 oracle 理解 資料 oracl 函數應用 特殊 put acl 今天在做數據需求的時候遇到一些問題,因為不能夠在數據庫裏面做,僅僅好在SAS裏面實現。這就遇到了一些麻煩,須要使用一些函數實現部分功能,如查找字段中某個特殊字符出現的次數,查找某個字符的位置等,

OpenCV2學習筆記(十五):利用Cmake高速查找OpenCV函數源代碼

one 生成 img log 分享 lan 學習筆記 全部 modules 在使用OpenCV時,在對一個函數的調用不是非常了解的情況下,通常希望查到該函數的官方聲明。而假設想進一步研究OpenCV的函數,則必須深入到源碼。在VS中我們能夠選中想要查

avalonjs 學習筆記1---checkbox

nod item ack lex server ini npm 學習 define 一、vscode 安裝使用 1.vs code+node.js下載安裝 2.在node.js command prompt 中運行 npm install -g live-server 3

Linux學習筆記(三):系統執行級與執行級的切換

查看 用戶操作 回車 water hat ntsysv tde 文件表 config 1.Linux系統與其它的操作系統不同,它設有執行級別。該執行級指定操作系統所處的狀態。Linux系統在不論什麽時候都執行於某個執行級上,且在不同的執行級上執行的程序和服務都不同,所要

Principle of Computing (Python)學習筆記(7) DFS Search + Tic Tac Toe use MiniMax Stratedy

ide out generate depth sku color ati cond with 1. Trees Tree is a recursive structure. 1.1 math nodes https://class.coursera.org/prin