框架搭建(SpringMVC+Spring+hibernate )
spring版本:3.0.5
hibernate版本:3.3
簡介:Spring MVC
Spring MVC(Model View Controller)是 Spring 中一個重要的組成部分。
Spring MVC 框架處理請求的流程:
Spring MVC 核心架構圖Spring MVC優勢:
1、清晰的角色劃分:前端控制器(DispatcherServlet
)、請求到處理器對映(HandlerMapping)、處理器介面卡(HandlerAdapter)、檢視解析器(ViewResolver)、處理器或頁面控制器(Controller)、驗證器( Validator)、命令物件(Command 請求引數繫結到的物件就叫命令物件)、表單物件(Form Object 提供給表單展示和提交到的物件就叫表單物件)。
2、分工明確,而且擴充套件點相當靈活,可以很容易擴充套件,雖然幾乎不需要;
3、由於命令物件就是一個POJO,無需繼承框架特定API,可以使用命令物件直接作為業務物件;
4、和Spring 其他框架無縫整合,是其它Web框架所不具備的;
5、可適配,通過HandlerAdapter可以支援任意的類作為處理器;
6、可定製性,HandlerMapping、ViewResolver等能夠非常簡單的定製;
7、功能強大的資料驗證、格式化、繫結機制;
8、利用Spring提供的Mock物件能夠非常簡單的進行Web層單元測試;
9、本地化、主題的解析的支援,使我們更容易進行國際化和主題的切換。
10、強大的JSP標籤庫,使JSP編寫更容易。
………………還有比如RESTful風格的支援、簡單的檔案上傳、約定大於配置的契約式程式設計支援、基於註解的零配置支援等等。
參考:http://blog.jobbole.com/29706/1.準備的jar包以及配置檔案如下:
2.新建一個JAVA web專案(MyEclipse:如果想用maven工具的話,新建工程時也可以勾選上Maven,當然也可以後期全工程轉換為Maven專案)
3.建好以後出現以上包結構即可(這裡包結構不一定非要這麼建,但自己在建時要注意在接下來的配置檔案裡的相關配置)。
4.然後可以將config資料夾裡的配置檔案複製到專案的config中,同時把lib資料夾中的JAR
5.最後配置web .xml檔案(可以複製第一步圖中那個web.xml檔案的內容)
首先介紹下web.xml檔案配置,一下圈的是需要注意的
接下來介紹Spring-mvc.xml
注:
1、<context:component-scan>配置這個標籤,spring可以自動去掃描base-pack下面或者子包下面的java檔案,如果掃描到有@Component @[email protected]等這些註解的類,則把這些類註冊為bean。如果配置了<context:component-scan>那麼<context:annotation-config/>標籤就可以不用再xml中配置了,因為前者包含了後者。
2、org.springframework.web.servlet.view.UrlBasedViewResolver是檢視解析器的一種,Spring常用的檢視解析器列表如下:
檢視解析器 | 描述 |
---|---|
XmlViewResolver | 介面 ViewResolver 的實現,從 XML 配置檔案中查詢檢視實現(預設 XML 配置檔案為 /WEB-INF/views.xml). |
ResourceBundleViewResolver | 介面 ViewResolver 的實現,用於從 properties 檔案中查詢檢視。. |
UrlBasedViewResolver | 介面 ViewResolver 的實現,用於根據請求的 URL 路徑返回相應的檢視,該檢視需為抽象類 AbstractUrlBasedView 的實現,它還有些子類,如 InternalResourceView 和 JstlView 等 . |
InternalResourceViewResolver | UrlBasedViewResolver 的子類,通常用於查詢 JSP(類 InternalResourceView)和 JSTL(類 JstlView,InternalResourceView 的子類)等檢視。 |
VelocityViewResolver /FreeMarkerViewResolver | UrlBasedViewResolver 的子類分別用於支援 Velocity(類 VelocityView)和 FreeMark 檢視(類 FreeMarkerView)。 |
ContentNegotiatingViewResolver | 介面 ViewResolver 的實現,用於根據請求檔案的字尾名或請求的 header 中的 accept 欄位查詢檢視。 |
如使用InternalResourceViewResolver時可以這樣配置:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/pages/" />
<property name="suffix" value=".jsp" />
</bean>
檢視解析器的詳細配置可以檢視http://www.ibm.com/developerworks/cn/java/j-lo-springview/
-------------------------------------------------------------------------------------------------------------------------------------------------
然後介紹SpringContext.xml
這裡資料來源配置我沒使用jdbc.properties,你可以自己設定,檔案已準備!
注:
1、dataSource裡使用的是apache的dbcp 資料來源:org.apache.commons.dbcp.BasicDataSource.
也可以使用spring的資料來源:org.springframework.jdbc.datasource.DriverManagerDataSource
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url"
value="jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf-8">
</property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
還可以使用c3p0資料來源:
<bean id="dataSource_oracle" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close" >
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
2、使用靜態資源(mvc必須是3.1以上版本才支援,如http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd) <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<mvc:default-servlet-handler />
3、事務管理配置
<!-- 事務管理配置 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
最後一步測試(記得資料庫服務要啟動):可以在entiry裡新建一個實體類!如圖:
建好如圖實體類後(mysql的name可以小寫)就可以把專案加到web伺服器啟動服務了!
以上就是SMSH的基本配置 如果控制檯沒拋錯誤,並新建表了,就說明SMSH框架搭建成功!
異常情況一:org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
spring配置檔案裡xsd檔案版本號與jar包不匹配,使用自己jar包相匹配的版本號即可。
異常情況二:The request sent by the client was syntactically incorrect ().
舉個例子:
- public String saveOrder(
- String[] itemIds,
- @RequestParam("level")String[] levels,
- ModelMap modelMap)
這裡面的itemIds就一定要和jsp頁面裡的引數名字相同;如果你非要命名不相同要像levels的寫法那樣通過@RequestParam來轉換,其中括號裡面的level是jsp頁面裡面的引數名字,levels是在controller方法中要用到的名字;如果jsp頁面中沒有itemIds和level任何一個引數,也會報相同的錯誤,就是因為springmvc無法實現資料的繫結。因此,如果不能保證存在”level”的引數,必須使用:@RequestParam(value = "level", required = false)
===============================================================================================================================
小知識點:控制層Controller想用HttpServletRequestr的方法,可以在方法上直接用引數的形式傳入,框架會自動注入。
request.getParameterNames();可以看到前臺封裝了哪些引數到後臺,request.getParameter("page");取出引數值。
小知識點:Spring MVC 自動轉換功能HttpMessageConverter(參見http://www.360doc.com/content/12/0809/11/9600761_229177035.shtml)
預設起作用的MVC註解功能
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
裡面有一些預設的轉換類
小知識點:@ResponseBody作用:把返回值直接寫到HTTP response body裡。
小知識點:
相關推薦
框架搭建(SpringMVC+Spring+hibernate )
spring版本:3.0.5 hibernate版本:3.3 簡介:Spring MVC Spring MVC(Model View Controller)是 Spring 中一個重要的組成部分。 Spring MVC 框架處理請求的流程: Spring MVC 核心
關於框架整合(springMVC+spring+mybatis)
所需的jar包 歡迎使用Markdown編輯器 你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識。 新的改變 我們對Markdown編輯器進行了一些功
SSH三大框架的搭建整合(struts2+spring+hibernate)
SSH說的上是javaweb經典框架,不能說100%要會SSH框架,但是大部分公司都在用,說到框架,都會提到ssh吧,這次就以很簡單的註冊例子來整合SSH框架。整合框架要注意的是先每個框架單獨測通後再整合,不然整合後出現問題比較難排查。 環境:windows
使用myeclipse搭建SSM(springMVC+spring+mybatis)
一、SSM搭建 1、使用的工具: myeclipse+jdk8+maven+MySQL+Tomcat8.5 2、配製檔案截: 二、配置檔案 1、web.xml 1 <?xml version="1.0
SSH框架整合過程(Struts2+Spring+Hibernate)
在學習java框架的過程中,我總結過如下文章:在將三大框架都學習一遍之後,再來看看如何整合SSH框架。先來看看SSH框架如何配合使用,如圖所示:整合步驟:1、匯入所需jar包。2、搭建struts2環境
SSH整合(Struts2+Spring+Hibernate)
iso 實體 action sun xmlns prop ftw .com efi 為了方便本次使用的是Myeclipse8.5 一、創建web工程,搭建Struts框架開發環境: 步驟1::導入struts框架所需的jar包 步驟2:在web.xml中配置struts2
SSH集成(Struts+Spring+Hibernate)
ren struts2的 ping rect 註意 實現 XML 配置文件 cor 環境:struts2.3.Xspring4.0.0hibernate4.2 思路:從下開始往上集成;層與層之間沒有關系;在集成的時候,只關註當前集成的那個層的內容; 1,創建一個空的web項
SSH整合(Struts+Spring+Hibernate)
環境:struts2.3.Xspring4.0.0hibernate4.2 思路:從下開始往上整合;層與層之間沒有關係;在整合的時候,只關注當前整合的那個層的內容; 1,建立一個空的web專案;重新定位class檔案編譯路徑2,設定專案的編碼;3,完成domain;4,完成對映檔案;5,寫DAO介面;6,
高可用分散式服務框架搭建(Dubbo、ZooKeeper)
以下是官方例項部署方法。此處涉及四個服務: zookeeper:註冊中心 dubbo-admin:服務管理後臺 dubbo-demo-provider:生產者(服務提供者) dubbo-demo-consumer:消費者(服務使用者) 需要注意的是,必
Maven專案環境搭建(Maven + Spring + IBatis)步驟
準備步驟 1. 安裝Maven,下載解壓即可。官網下載 2. 修改maven_home/conf/settings.xml中的<localRepository>D:/MavenRepo</localRepository>指定本地倉庫位置,這個位置是本地計算
SSH三大框架搭建整合struts2+spring+hibernate
SSH框架整合理論: 在SSH框架的JAVAweb專案的開發過程中,WEB層通常使用的是Struts2+jsp,service層使用的是javaBean,DAO層使用的是hibernate,而spring的使用覆蓋三層。 使用了spring框架之後,我們可以把物件交給spring
[Shiro教程] Shiro 教程基於SSM(SpringMVC + Spring + Mybatis)EHCache版本
一、Shiro簡介 Apache Shiro 是 Java 的一個安全框架。我們經常看到它被拿來和 Spring 的 Security 來對比。大部分人認為 Shiro 比 Security 要簡單。我的觀點贊成一半一半吧。 首先 Shiro
SSH三大框架搭建(非常之基礎)
完全的從無到有的搭建一個最基礎的SSH框架。 我們先做一下最開始的基礎工作,先來將一個數據源配置好,然後進行三大框架的完整配置!!! 如圖: 首先我們從右上角來建立一個數據源: 在“2”所指示的空白的地方,我們右鍵然後new一下,然後彈出對話方塊,如下圖: 這裡我
.net轉java 學習筆記 (五) 使用eclipse 搭建 ssh框架( struts spring hibernate )
註入 mage 面向切面 但是 模式 nbsp gen pro jdbc ssh為 struts+spring+hibernate的一個集成框架,是目前較流行的一種Web應用程序開源框架 struts :是一個基於MVC設計模式的Web應用框架,struts類似.net
SSM的環境搭建(整合Spring、SpringMVC、Mybatis框架)
本案例基於開發工具IDEA、MySQL,模擬查詢學生類的資訊 專案模組圖: MySQL中Student表 (1)新建一個maven的web-app專案 (2)新建test、java、resources資料夾,並對檔案進行標記 (3)將controller(控制包)、mapper
SSM框架搭建(spring+springmvc+mybatis)
一.建立web專案(eclipse) File-->new-->Dynamic Web Project (這裡我們建立的專案名為SSM) 下面是大致目錄結構 二. SSM所需jar包。 jar包連結:https://pan.b
SSM框架搭建(Spring+SpringMVC+MyBatis)與easyui整合並實現增刪改查實現
一、用myEclipse初始化Web專案 新建一個web project: 二、建立包 controller //控制類 service//服務介面 service.impl//服務實現類 dao //data access object
用Maven整合SpringMVC+Spring+Hibernate 框架,實現簡單的插入資料庫資料功能(二)
前一篇寫的有些多,大家先看前一篇,傳送門 具體的資源已將上傳到資源了。 上文我們直接搭建前的準備和資源配置都寫好了,下面進入具體程式碼編寫。承接上文的小3 3、我習慣建立介面,這樣對整個專案感覺更合理。 (1.)建立IBaseService(業務邏輯層,有的習慣寫成Ba
STS(Spring Tool Suite)下SSM(Spring+SpringMVC+Mybatis)框架搭建(二)
搭建 div 圖片 control 網盤 ext lmap wid 方便 繼完成controller配置並使用controller實現頁面跳轉,現連接數據庫進行登錄。 在SSM框架中,使用Mybatis與數據庫連接,因此需要配置關於mybatis的配置。 廢話少說直接開始
使用IDEA基於Maven搭建多模塊聚合工程(springmvc+spring+mybatis整合)
utf-8 組件 json處理 con mon 博客 quick 作者 處理工具 文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關註我的微信公眾號:好好學java,獲取優質學習資源。 終於有時間搞java了,今天使用IDEA基於maven搭建了多模塊聚合工程,經過了