生活随笔
收集整理的這篇文章主要介紹了
ssh实际操作指导
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、生成的struts配置文件struts-config.xml文件中,要把spring的配置文件引入,說明spring配置文件在哪兒放著。
???注意:value值可以換的
<plug-in?className="org.springframework.web.struts.ContextLoaderPlugIn">?????<set-property?property="contextConfigLocation"? ???????value="/WEB-INF/applicationContext.xml"?/>????</plug-in>??
二、將struts-config.xml中自動生成的action配置type屬性改為???
org.springframework.web.struts.DelegatingActionProxy
xml 代碼
<action????????attribute="loginForm"????????input="login.jsp"????????name="loginForm"????????path="/login"????????scope="request"????????type="org.springframework.web.struts.DelegatingActionProxy"?>??
三、在spring的配置文件applicationContext 中會自動添加hibernate自動生成的dao的bean配置。例如
xml 代碼
<bean?id="UsersDAOImp"?class="com.ssh.dao.impl.UsersDAOImp">????<property?name="sessionFactory">?????<ref?bean="SpringSessionFactory"?/>????</property>???</bean>??
但是不會自動生成action 的配置,所以需要增加action的配置
xml 代碼
<bean?name="/login"?class="com.ssh.action.LoginAction"?singleton="false">??<property?name="dao">??<ref?bean="UsersDAOImp"/>??</property>??</bean>??
相應的com.ssh.action.LoginAction的實現:
java 代碼
public?class?LoginAction?extends?Action?{ ?????????????????????public?UsersDAOImp?dao; ??? ???public?UsersDAOImp?getDao()?{ ????return?dao; ???} ?????public?void?setDao(UsersDAOImp?dao)?{ ????this.dao?=?dao; ???} ?????public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form, ?????HttpServletRequest?request,?HttpServletResponse?response)?{ ????LoginForm?loginForm?=?(LoginForm)?form; ????Users?user=new?Users(); ????user.setUsername(loginForm.getUsername()); ????user.setPassword(loginForm.getUserpwd()); ????UsersDAOImp?dao=this.getDao(); ????if(dao.findByExample(user).size()>0){ ?????return?mapping.findForward("right"); ????} ???? ???? ????return?mapping.findForward("wrong"); ?????} ??} ????
在這里可以看到spirng的依賴注入中的設值注入:配置文件和set/get方法相配合
四、如果你用的是mysql數據庫,則需要把映射文件例如Users.hbm.xml中的配置改一下。
xml 代碼
<class?name="com.ssh.entity.Users"?table="users"?catalog="test">??
改為
?
xml 代碼
<class?name="com.ssh.entity.Users"?table="users">??
一定要把這個catalog目錄刪掉,要不它會把表名生成為test__users' 會報下面的錯誤
javax.servlet.ServletException: Hibernate operation: could not execute query; bad SQL
grammar [select this_.id as id0_, this_.username as username0_0_, this_.password as
password0_0_ from test__users this_ where (this_.username=? and this_.password=?)]; nested
exception is java.sql.SQLException: Table 'test.test__users' doesn't exist
:?
xml 代碼
總結
以上是生活随笔為你收集整理的ssh实际操作指导的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。