




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本文主要介紹使用注解方式配置的spring mvc,包括數(shù)據(jù)訪問(wèn)層的實(shí)現(xiàn)web.xml配置:<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="/2001/XMLSchema-instance" xmlns=" <display-name>s3h3</display-name>
2、160; <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext*.xml</param-value>&
3、#160; </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
4、60; </listener> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web
5、.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping>
6、60; <servlet-name>spring</servlet-name> <!- 這里在配成spring,下邊也要寫(xiě)一個(gè)名為spring-servlet.xml的文件,主要用來(lái)配置它的controller -> <url-pattern>*.do</url-pattern> <
7、;/servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> spring-servlet,主要配
8、置controller的信息<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="/schema/beans" xmlns:xsi="/20
9、01/XMLSchema-instance" xmlns:p="/schema/p" xmlns:context="/schema/context" xsi:schemaLoc
10、ation="/schema/beans /schema/beans/spring-beans-3.0.xsd /schema/aop /schema/aop/spring-aop-3.0.xsd
11、 /schema/tx /schema/tx/spring-tx-3.0.xsd /schema/context /schema/con
12、text/spring-context-3.0.xsd"> <context:annotation-config /> <!- 把標(biāo)記了Controller注解的類(lèi)轉(zhuǎn)換為bean -> &
13、#160; <context:component-scan base-package="com.mvc.controller" /> <!- 啟動(dòng)Spring MVC的注解功能,完成請(qǐng)求和注解POJO的映射 -> <bean class="org.sprin
14、gframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!- 對(duì)模型視圖名稱(chēng)的解析,即在模型視圖名稱(chēng)添加前后綴 ->
15、 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp" />
16、 <bean id="multipartResolver" class="mons.CommonsMultipartResol
17、ver" p:defaultEncoding="utf-8" /> </beans> applicationContext.xml代碼<?xml version="1.0" encoding="UTF-8"
18、?> <beans xmlns="/schema/beans" xmlns:aop="/schema/aop" xmlns:context="/schema/context" xmlns:p="http:/www.spri
19、/schema/p" xmlns:tx="/schema/tx" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation=" http:/www
20、./schema/beans /schema/beans/spring-beans-3.0.xsd /schema/context /schema/context/spring-context-3.0.xsd http:/www
21、./schema/aop /schema/aop/spring-aop-3.0.xsd /schema/tx /schema/tx/spring-tx-3.0.xsd"> <context:annotati
22、on-config /> <context:component-scan base-package="com.mvc" /> <!- 自動(dòng)掃描所有注解該路徑 -> <context:property-placeholder location="classpath:/perties" /&g
23、t; <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSour
24、ce" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">$dataSource.dialect</prop> &
25、#160; <prop key="hibernate.hbm2ddl.auto">$dataSource.hbm2ddl.auto</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props>
26、; </property> <property name="packagesToScan"> <list> <value>com.mvc.entity</value><!- 掃描實(shí)體類(lèi),也就是平時(shí)所說(shuō)的model ->
27、160; </list> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransa
28、ctionManager"> <property name="sessionFactory" ref="sessionFactory" /> <property name="dataSource" ref="dataSource" /> </bean&
29、gt; <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="$dataSource.driverC
30、lassName" /> <property name="url" value="$dataSource.url" /> <property name="username" value="$dataSource.username" />
31、;<property name="password" value="$dataSource.password" /> </bean> <!- Dao的實(shí)現(xiàn) -> <bean id="entityDao" class="com.mvc.dao.EntityDaoImpl"
32、> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" />
33、 <tx:annotation-driven mode="aspectj"/> <aop:aspectj-autoproxy/> </beans> perties數(shù)據(jù)庫(kù)連接配置dataSource.password=123 dat
34、aSource.username=root dataSource.databaseName=test dataSource.driverClassName=com.mysql.jdbc.Driver dataSource.dialect=org.hibernate.dialect.MySQL5Dialect dataSource.serverName=localhost:3306 dataSource.url=jdbc:mysql:/lo
35、calhost:3306/test dataSperties=user=$dataSource.username;databaseName=$dataSource.databaseName;serverName=$dataSource.serverName;password=$dataSource.password dataSource.hbm2ddl.auto=update 配置已經(jīng)完成,下面開(kāi)始例子先在數(shù)據(jù)庫(kù)建表,例子用的是mysql數(shù)據(jù)庫(kù)CREATE TABLE
36、; test.student ( id int(10) unsigned NOT NULL AUTO_INCREMENT, name varchar(45) NOT NULL, psw varchar(45) NOT NULL, PRIM
37、ARY KEY (id) ) 建好表后,生成實(shí)體類(lèi)package com.mvc.entity; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import&
38、#160;javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; Entity
39、60; Table(name = "student") public class Student implements Serializable private static final long serialVersionUID = 1L;
40、0;Id Basic(optional = false) GeneratedValue(strategy = GenerationType.IDENTITY) Column(name = "id", nullable = false)
41、; private Integer id; Column(name = "name") private String user; Column(name = "psw")
42、60; private String psw; public Integer getId() return id;
43、; public void setId(Integer id) this.id = id; public String
44、0;getUser() return user; public void setUser(String user)
45、60;this.user = user; public String getPsw() return psw;
46、 public void setPsw(String psw) this.psw = psw; Dao層實(shí)現(xiàn)package com.mvc.dao; import&
47、#160;java.util.List; public interface EntityDao public List<Object> createQuery(final String queryString); public Object save(final
48、Object model); public void update(final Object model); public void delete(final Object model); package com.mvc.dao;
49、 import java.util.List; import org.hibernate.Query; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
50、;public class EntityDaoImpl extends HibernateDaoSupport implements EntityDao public List<Object> createQuery(final String queryString)
51、60;return (List<Object>) getHibernateTemplate().execute( new HibernateCallback<Object>()
52、 public Object doInHibernate(org.hibernate.Session session)
53、; throws org.hibernate.HibernateException Query query = session.createQuery(queryStr
54、ing); List<Object> rows = query.list(); &
55、#160; return rows;
56、160; ); public Object save(final Object model) return getHibernateTe
57、mplate().execute( new HibernateCallback<Object>() &
58、#160; public Object doInHibernate(org.hibernate.Session session) throws org.hibernat
59、e.HibernateException session.save(model);
60、160; return null;
61、60; ); public void update(final Object model) getHibernateTemplate().execute(new Hiber
62、nateCallback<Object>() public Object doInHibernate(org.hibernate.Session session) &
63、#160; throws org.hibernate.HibernateException session.update(model); &
64、#160; return null; ); public
65、 void delete(final Object model) getHibernateTemplate().execute(new HibernateCallback<Object>() public&
66、#160;Object doInHibernate(org.hibernate.Session session) throws org.hibernate.HibernateException
67、0; session.delete(model); return null; &
68、#160; ); Dao在applicationContext.xml注入<bean id="entityDao" class="com.mvc.dao.EntityDaoImpl"> <pr
69、operty name="sessionFactory" ref="sessionFactory" /> </bean>Dao只有一個(gè)類(lèi)的實(shí)現(xiàn),直接供其它service層調(diào)用,如果你想更換為其它的Dao實(shí)現(xiàn),也只需修改這里的配置就行了。開(kāi)始寫(xiě)view頁(yè)面,WEB-INF/view下新建頁(yè)面student.jsp,WEB-INF/view這路徑是在spring-servlet.xml文件配置的,你可以配置成其它,也可以多個(gè)路徑。student.jsp代碼<% page la
70、nguage="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% include file="/include/head.jsp"%> <!DOCTYPE html PUBLIC "-/W3C/DTD
71、;HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>添加</t
72、itle> <script language="javascript" src="<%=request.getContextPath()%><!- /script/jquery.min.js"> / -></script> <style><!- table border-collapse:collap
73、se; td border:1px solid #f00; -></style><style mce_bogus="1">table border-collapse:collapse; td border:1px solid #f00;
74、</style> <script type="text/javascript"><!- function add() window.location.href="<%=request.getContextPath() %>/student.do?method=add"
75、; function del(id) $.ajax( type : "POST", url : "<%=request.getContextPath()%>/student.do?method=del&id=" + id,
76、160; dataType: "json", success : function(data) if(data.del = "true")
77、60; alert("刪除成功!"); $("#" + id).remove();
78、60; else alert("刪除失??!"); , err
79、or :function() alert("網(wǎng)絡(luò)連接出錯(cuò)!"); ); / -></script> </head> <body>
80、160; <input id="add" type="button" onclick="add()" value="添加"/> <table > <tr> <td>序號(hào)</td>
81、 <td>姓名</td> <td>密碼</td> <td>操作</td> </tr>
82、0; <c:forEach items="$list" var="student"> <tr id="<c:out value="$student.id"/>"> <td><c:out
83、0;value="$student.id"/></td> <td><c:out value="$student.user"/></td> <td><c:out value="$student.psw"/>&
84、lt;/td> <td> <input type="button" value="編輯"/> &
85、#160; <input type="button" onclick="del('<c:out value="$student.id"/>')" value="刪除"/> </td>
86、; </tr> </c:forEach> </table> </body> </html> student_add.jsp<% page language="java" contentType="t
87、ext/html; charset=UTF-8" pageEncoding="UTF-8"%> <% include file="/include/head.jsp"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"
88、"/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>學(xué)生添加</title> <mce:script type=&
89、quot;text/javascript"><!- function turnback() window.location.href="<%=request.getContextPath() %>/student.do" / -></mce:script> </head>
90、60; <body> <form method="post" action="<%=request.getContextPath() %>/student.do?method=save"> <div><c:out value="$addstate"></c:out></div> <table>
91、; <tr><td>姓名</td><td><input id="user" name="user" type="text" /></td></tr> <tr><td>密碼</td><td><input id="psw"
92、;name="psw" type="text" /></td></tr> <tr><td colSpan="2" align="center"><input type="submit" value="提交"/><input type="butto
93、n" onclick="turnback()" value="返回" /> </td></tr> </table> </form> </body> </html> controller類(lèi)實(shí)現(xiàn),只需把注解寫(xiě)上,spring就會(huì)自動(dòng)幫你找到相應(yīng)的bean,相應(yīng)的注解標(biāo)記意義,不明白的,可以自己查下Se
94、rvice,Controller,Entity等等的內(nèi)容。package com.mvc.controller; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; imp
95、ort mons.logging.Log; import mons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap;&
96、#160; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework
97、.web.servlet.ModelAndView; import com.mvc.entity.Student; import com.mvc.service.StudentService; Controller RequestMapping("/student.do") public class StudentControlle
98、r protected final transient Log log = LogFactory .getLog(StudentController.class); Autowired private
99、StudentService studentService; public StudentController()
100、RequestMapping public String load(ModelMap modelMap) List<Object> list = studentService.getStudentList();
101、; modelMap.put("list", list); return "student" RequestMapping(params =
102、 "method=add") public String add(HttpServletRequest request, ModelMap modelMap) throws Exception return "student_add"
103、 RequestMapping(params = "method=save") public String save(HttpServletRequest request, ModelMap model
104、Map) String user = request.getParameter("user"); String psw = request.getParameter("psw");
105、 Student st = new Student(); st.setUser(user); st.setPsw(psw);
106、; try studentService.save(st); modelMap.put("addstate", "添加成功"); catch(Exception e)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZTSS 0002-2024 同山燒酒評(píng)價(jià)規(guī)范
- T-ZJSEIA 007-2024 產(chǎn)品碳足跡評(píng)價(jià)技術(shù)規(guī)范光伏組件
- 二零二五年度健康產(chǎn)業(yè)商家入駐戰(zhàn)略合作協(xié)議
- 2025年度離婚財(cái)產(chǎn)分割與子女財(cái)產(chǎn)繼承協(xié)議
- 二零二五年度個(gè)人之間房產(chǎn)交易保密協(xié)議
- 二零二五年度按揭房屋借款協(xié)議書(shū)(公積金貸款)
- 2025年度籃球運(yùn)動(dòng)員轉(zhuǎn)會(huì)合同解除條件
- 二零二五年度超市租賃合同書(shū):超市租賃及綠色環(huán)保產(chǎn)品合作協(xié)議
- 二零二五年度智能交通投資暗股協(xié)議
- 2025年度職業(yè)電競(jìng)選手私教訓(xùn)練協(xié)議
- 北京2024年北京市測(cè)繪設(shè)計(jì)研究院面向應(yīng)屆生招聘筆試歷年參考題庫(kù)附帶答案詳解
- 2025年減速機(jī)齒輪項(xiàng)目投資可行性研究分析報(bào)告
- EPC總承包管理方案
- 走進(jìn)李白校本 課程設(shè)計(jì)
- 2025新人教版英語(yǔ)七年級(jí)下單詞默寫(xiě)單(小學(xué)部分)
- 2024年呼和浩特職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 安全生產(chǎn)管理體系建設(shè)講解
- 2025年春新冀教版英語(yǔ)三年級(jí)下冊(cè)全冊(cè)教學(xué)課件
- 2025年湘教版二年級(jí)美術(shù)下冊(cè)計(jì)劃與教案
- 學(xué)習(xí)雷鋒主題班會(huì)雷鋒日學(xué)習(xí)雷鋒精神-
- 2024銀行從業(yè)資格個(gè)人貸款教材
評(píng)論
0/150
提交評(píng)論