我 的 QQ: 71279650
我的Email: oksonic@sina.com
工具:
Eclipse3.1、MyEclipse4.03、Tomcat5.5.9、Properties Editor插件、MySql4.1.13
新建工程:名稱為 login
創(chuàng)建Struts框架
創(chuàng)建 index.jsp,增加一鏈接指向 login.jsp
按下Ctrl + N,創(chuàng)建 login.jsp、LoginAction,使用MyEclipse的向?qū)Ь涂梢粤耍?STRONG>記得選對(duì)正確的版本
在ActionForm配置頁(yè)中選擇類型為動(dòng)態(tài)Form,并繼承于DynaValidatorForm,新增兩個(gè)屬性:username、password,在創(chuàng)建jsp文件打上鉤,將路徑改為/login.jsp,然后下一步,改LoginAction的Input source改為/login.jsp,點(diǎn)擊完成
按下Ctrl + N 創(chuàng)建一個(gè)forwards,記得選對(duì)正確的版本
name 輸入 indexGo
路徑選擇 /index.jsp
配置validator
先添加Struts插件,使用向?qū)?/DIV>
Plugin class : org.apache.struts.validator.ValidatorPlugIn
Property : pathnames
Value : /WEB-INF/validator-rules.xml,/WEB-INF/validation.xml
這里需要兩個(gè)xml文件
現(xiàn)在創(chuàng)建“validation.xml” 文件
在這里說(shuō)明一點(diǎn),我使用MyEclipse創(chuàng)建的Struts框架中缺少了validator-rules.xml文件,需要?jiǎng)涌截惖絎EB-INF目錄中
文件內(nèi)容如下:
<form-validation>
<formset>
<form name="loginForm">
<field property="username" depends="required">
<arg0 key="prompt.username" />
</field>
<field property="password" depends="required">
<arg0 key="prompt.password" />
</field>
</form>
</formset>
</form-validation>
編輯資源文件“ApplicationResources.properties”
增加以下內(nèi)容
prompt.username=User Name
prompt.password=User Password
errors.required={0} is required.
再創(chuàng)建中文件資源文件“ApplicationResources_zh_CN.properties”
增加以下內(nèi)容
prompt.username=用戶名稱
prompt.password=登錄密碼
errors.required={0} 必需填寫!
修改struts-config.xml文件
在以下位置增加綠色字體部份
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
validate="true"
type="com.test.struts.action.LoginAction" />
</action-mappings>
這里說(shuō)明提交的數(shù)據(jù)必需經(jīng)過(guò)驗(yàn)證,而驗(yàn)證則是通過(guò)validator框架進(jìn)行的。
修改LoginAction.java文件的execute方法,內(nèi)容如下
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
DynaValidatorForm loginForm = (DynaValidatorForm) form;
String username=loginForm.getString("username");
String password=loginForm.getString("password");
if(username.equals("test")||password.equals("test")){
return mapping.findForward("indexGo");
}else{
return mapping.getInputForward();
}
}
現(xiàn)在再修改一下login.jsp
增加以下綠色字體部份
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
其中charset=UTF-8 是使用UTF-8的字符編碼,這也是為了支持國(guó)際化而使用的。
好了,現(xiàn)在可以啟動(dòng)Tomcat進(jìn)行測(cè)試了
如果不輸入任何數(shù)據(jù)而直接提交表單的話就可以看到效果了。
好了,如果沒(méi)有什么問(wèn)題的話就繼續(xù)往下看吧,如果有問(wèn)題的話就得往上看了^_^
現(xiàn)在創(chuàng)建Spring框架了,在這里我將Spring所有的包全部加載進(jìn)去,因?yàn)槲疫€不知道具體用到哪些類,全部加進(jìn)去方便點(diǎn)
單選框選第二個(gè),這樣的話所有的類庫(kù)和標(biāo)簽等都將拷貝到項(xiàng)目中去,這樣方便以后的布署
下一步后是創(chuàng)建配置文件,將文件放到“WebRoot/WEB-INF”目錄下,文件名稱為“applicationContext.xml”
配置struts-config.xml文件,添加(spring)的插件
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>
修改LoginAction配置
原:
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
validate="true"
type="com.test.struts.action.LoginAction" />
</action-mappings>
改為:
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
validate="true"
type="org.springframework.web.struts.DelegatingActionProxy" />
</action-mappings>
綠色字體部份為修改內(nèi)容
這里將使用spring的代理器來(lái)對(duì)Action進(jìn)行控制
當(dāng)提交到/login.do是將控制權(quán)交給了spring,然后由spring來(lái)決定是否轉(zhuǎn)回到struts的Action
現(xiàn)在來(lái)配置spring
<beans>
<bean name="/login" class="com.test.struts.action.LoginAction" singleton="false"></bean>
</beans>
綠色字體是關(guān)于轉(zhuǎn)交控制權(quán)的配置內(nèi)容
屬性singleton="false",指明了Action 的實(shí)例獲取方式為每次重新創(chuàng)建。解決了Struts中令人詬病的線程安全問(wèn)題(Struts中,由一個(gè)Action實(shí)例處理所有的請(qǐng)求,這就導(dǎo)致了類公用資源在并發(fā)請(qǐng)求中的線程同步問(wèn)題。)(摘自spring開發(fā)指南)
這時(shí)如果你要進(jìn)行測(cè)試也是可以的,不過(guò)為了省點(diǎn)時(shí)間就不進(jìn)行測(cè)試了。
建立數(shù)據(jù)庫(kù)在 這里我使用的是mysql4.1.13
CREATE TABLE `user` (
`ID` int(11) NOT NULL auto_increment,
`USERNAME` varchar(50) NOT NULL default '',
`PASSWORD` varchar(50) NOT NULL default '',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
添加記錄 insert into user (USERNAME,PASSWORD) values ('test','test')
創(chuàng)建Hibernate框架
在配置界面中配置數(shù)據(jù)庫(kù)的連接部份,重要的是點(diǎn)擊鏈接將jdbc拷貝到lib目錄中
使用MyEclipse的數(shù)據(jù)Database Explorer工具創(chuàng)建User.hmb.xml、AbstractUser.java、User.java映射文件
創(chuàng)建完成后可以將自動(dòng)生成的hibernate.cfg.xml刪除
創(chuàng)建UserDAO.java、UserDAOImp.java
UserDAO.java
public interface UserDAO {
public abstract boolean isValidUser(String username, String password);
}
UserDAOImp.java
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.test.Hibernate.SessionFactory;
public class UserDAOImp extends HibernateDaoSupport implements UserDAO {
private SessionFactory sessionFactory;
private static String hql = "from User u where u.username=? ";
public boolean isValidUser(String username, String password) {
List userList = this.getHibernateTemplate().find(hql, username);
if (userList.size() > 0) {
return true;
}
return false;
}
}
修改LoginAction.java文件,使用userDao的方法來(lái)進(jìn)行用戶驗(yàn)證
package com.test.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;
import com.test.UserDAO;
public class LoginAction extends Action {
private UserDAO userDAO;
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DynaValidatorForm loginForm = (DynaValidatorForm) form;
// TODO Auto-generated method stub
String username = (String) loginForm.get("username");
String password = (String) loginForm.get("password");
loginForm.set("password", null);
if (userDAO.isValidUser(username,password)) {
return mapping.findForward("indexGo");
} else {
return mapping.getInputForward();
}
}
}
綠色字體為修改部份
現(xiàn)在剩下最后的spring配置了
<beans>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>root</value>
</property>
</bean>
<!-- 配置sessionFactory, 注意這里引入的包的不同 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com/test/Hibernate/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="userDAO" class="com.test.UserDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="userDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean name="/login" class="com.test.struts.action.LoginAction" singleton="false">
<property name="userDAO">
<ref bean="userDAOProxy" />
</property>
</bean>
</beans>
現(xiàn)在可以進(jìn)行測(cè)試了!
在編寫代碼有配置內(nèi)容時(shí)一定要注意 hibernate 和 hibernate3 ,這兩個(gè)包的名字就只差一個(gè)字,千萬(wàn)不要有錯(cuò),否則找錯(cuò)誤可是很難的。
Feedback
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-04-24 22:21 by
呵呵 上面的代碼只是硬編碼 連接數(shù)據(jù)庫(kù)要注意特別多的事項(xiàng) 比如先倒入支持和后倒入支持就不同 真麻煩 有同行的話加我 啊 如果不嫌棄我可以和我討論討論 相信你會(huì)有收獲的
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-05-05 02:43 by
gaga
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-05-08 14:00 by
有關(guān)使用 SQL server 出現(xiàn)uncategorized SQLException for SQL 錯(cuò)誤的問(wèn)題:
查了很久,原來(lái)是表名不能用user, user 為 SQL SERVER 的關(guān)鍵字
碰到同樣問(wèn)題的 把表名改掉就OK了,
感謝樓主的動(dòng)畫
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-05-11 00:45 by
為什么hibernate的包換成3.2就錯(cuò) 非要用3.0
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-05-11 00:45 by
請(qǐng)樓主幫忙解釋一下
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-05-12 10:08 by
只要在applicationContext.xml中加上
<property name="mappingResources">
<list>
<value>com/yourcompany/hibernate/Users.hbm.xml</value>
</list>
</property>
這段代碼 就 會(huì)找不到action
好不郁悶
MyEclipse 5.5.0 Milestone 1
Spring 2.0
Struts 1.2
hibernate 3.0
mysql 5.0
驅(qū)動(dòng) mysql-connector-java-3.2.0-alpha-bin
麻煩摟主 看看
# 初學(xué)spring hibernate[未登錄](méi) 回復(fù) 更多評(píng)論
2007-05-12 19:41 by
ApplicationContext context =
new FileSystemXmlApplicationContext(
"src/applicationContext.xml");
EchoMessageDAO echoMessage =
(EchoMessageDAO) context.getBean("EchoMessageDAO");
EchoMessage me = new EchoMessage();
me.setMsg("heeelo;;;;;");
echoMessage.save(me);
以上語(yǔ)句,拋出異常:
2007-05-12 19:29:03,703 ERROR (EchoMessageDAO.java:32) - save failed
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: com.ton.rom.EchoMessage; nested exception is org.hibernate.MappingException: Unknown entity: com.ton.rom.EchoMessage
org.hibernate.MappingException: Unknown entity: com.ton.rom.EchoMessage
那一句是 getHibernateTemplate().save(transientInstance);
請(qǐng)問(wèn)是什么問(wèn)題?
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-05-14 18:05 by
找不到action的問(wèn)題解決方法:
出現(xiàn)這個(gè)問(wèn)題最有可能就是DAO類有錯(cuò)誤
寫個(gè)DAO的測(cè)試類
public static void main(String[] args) {
String[] path = {"/WebRoot/WEB-INF/applicationContext.xml"};
ApplicationContext ctx = new FileSystemXmlApplicationContext(path);
UserDAO dao = (UserDAO) ctx.getBean("userDAO");
System.out.print(dao.isValidUser("uu","pp"));
很快可以找出錯(cuò)誤的地方;
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-05-18 13:26 by
為什么hibernate的包換成3。2就錯(cuò) 非要用3。0
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-05-31 17:39 by
哥們,也給俺發(fā)一份啊 sadi9090@163.com 謝了啊 :)
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-06-02 20:41 by
dyx8143@tom.com 謝謝大哥了
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-06-07 19:33 by
Stards_Cai@163.com 謝謝大哥,我也要!!!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-06-09 21:31 by
shengli_chen@hotmail.com老兄給我一份源文件,做個(gè)參考。
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-06-14 16:44 by
ljm80586@sina.com
謝謝
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-06-17 17:03 by
怎么不能下
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-06-21 02:17 by
好像確實(shí)有點(diǎn)問(wèn)題啊...
我今天才在別個(gè)那里看到做這個(gè)方面的東西..在我認(rèn)為struts只是獲取頁(yè)面提交的東西.,.然后由application.xml文件中找到相對(duì)應(yīng)的action,然后再根據(jù)action的依賴項(xiàng)找到相對(duì)應(yīng)的DAO(實(shí)現(xiàn)類),再由這個(gè)實(shí)現(xiàn)類找到相對(duì)應(yīng)的DAOImp(接口類),最后在struts里面就添加一個(gè)DAO的屬性.(這個(gè)是不是才叫依賴式的注入呢?我也不清楚..),再在action里面只要調(diào)用此屬性的實(shí)現(xiàn)方法就可以啦..
(管你是動(dòng)態(tài)的還是靜態(tài)的actionForm)
----只是我本人今天的一點(diǎn)看法...不好意思才看別人用這個(gè)東西.我還沒(méi)有用過(guò).
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-06-27 14:36 by
寫得很好,不夠詳細(xì),很多代碼不全,能不能發(fā)一份完全的代碼?
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-06-27 16:08 by
可以發(fā)給我嗎?ying_jun25@163.com
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-07-03 17:25 by
寫得亂七八糟,跟著你去做,能一次成功人有誰(shuí)啊
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-07-04 19:59 by
在struts-config.xml中添加載入 spring 的配置文件不如在web.xml中添加好
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-07-06 11:15 by
HTTP Status 404 - Servlet action is not available
Spring+struts+hibernate
出錯(cuò)原因很簡(jiǎn)單
struts-config.xml
</plug-in>
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
myeclipse 把a(bǔ)pplicationContext.xml放在classes文件夾下
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-07-18 16:25 by
樓上說(shuō)的myeclipse 把a(bǔ)pplicationContext.xml放在classes文件夾下我怎么沒(méi)有發(fā)現(xiàn)啊?
不知道大家發(fā)現(xiàn)沒(méi)有?
現(xiàn)在我也是HTTP Status 404 - Servlet action is not available 很頭疼啊.
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-07-21 17:05 by
回一樓的錯(cuò)誤:"javax.servlet.ServletException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select user0_.id as id, user0_.username as username0_, user0_.password as password0_ from user user0_ where user0_.username=? and password=?]; SQL state [S1000]; error code [156]; 在關(guān)鍵字 'user' 附近有語(yǔ)法錯(cuò)誤。; nested exception is java.sql.SQLException: 在關(guān)鍵字 'user' 附近有語(yǔ)法錯(cuò)誤."這個(gè)錯(cuò)誤是由于數(shù)據(jù)庫(kù)中不能使用"user"表,"user"是SQL-99的關(guān)鍵字,把 DB中換個(gè)表名就OK了!
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-07 10:29 by
能發(fā)份原代碼嗎?xtf999999@sina.com.cn 謝謝
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-10 09:42 by
能不能發(fā)一份源碼?非常感謝啊! jhvhmhab@163.com
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-14 10:44 by
找不到action
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-17 13:55 by
我在mysql,sqlserver上都運(yùn)行成功且我增加了update功能,可以分頁(yè)功能總做不出來(lái),都不知道如何下手,有沒(méi)有高手提示一下啊!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-19 02:26 by
user 在mssql 中是系統(tǒng)關(guān)鍵字
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-22 17:55 by
哪個(gè)兄弟有上面的例題完整的代碼請(qǐng)給我發(fā)一份謝謝啊,本人急需要這樣的例題 謝謝 郵箱 huzhongwen-hz@163.com
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-22 17:55 by
哪個(gè)兄弟有上面的例題完整的代碼請(qǐng)給我發(fā)一份謝謝啊,本人急需要這樣的例題 謝謝 郵箱 huzhongwen-hz@163.com
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-24 01:29 by
博客主人請(qǐng)謹(jǐn)慎,你根本就沒(méi)有用到Spring啊不要亂說(shuō)我看了半天也沒(méi)找到你用Spring的地方,你好好看看吧
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-24 02:19 by
出現(xiàn)這種問(wèn)題是因?yàn)槲覀冇昧藄qlserver2000,而“user”這個(gè)名字是server2000的系統(tǒng)保留字,我們不能用它,可以改成“users”或其它,樓主的例子是在mysql下做的。
javax.servlet.ServletException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select user0_.ID as ID, user0_.username as username0_, user0_.password as password0_ from user user0_ where user0_.username=? and password=?]; SQL state [HY000]; error code [156]; [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在關(guān)鍵字 'user' 附近有語(yǔ)法錯(cuò)誤。; nested exception is java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在關(guān)鍵字 'user' 附近有語(yǔ)法錯(cuò)誤。
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-24 03:20 by
@YY
感謝YY寫的問(wèn)題,讓我解決了
Servlet action is not available
的問(wèn)題,太感謝你了。你的方法是很對(duì)的,希望后來(lái)者能得到由衷的解惑。
他的解答是:
找不到action的問(wèn)題解決方法:
出現(xiàn)這個(gè)問(wèn)題最有可能就是DAO類有錯(cuò)誤
寫個(gè)DAO的測(cè)試類
public static void main(String[] args) {
String[] path = {"/WebRoot/WEB-INF/applicationContext.xml"};
ApplicationContext ctx = new FileSystemXmlApplicationContext(path);
UserDAO dao = (UserDAO) ctx.getBean("userDAO");
System.out.print(dao.isValidUser("uu","pp"));
很快可以找出錯(cuò)誤的地方;
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-24 03:34 by
解決 Servlet action is not available
這個(gè)問(wèn)題,可以這樣:
1.先看看login.jsp的提交是不是action="/login"
2.再?gòu)膕truts-config.xml著手,看是不是各種導(dǎo)入的文件的路徑對(duì)不對(duì);
3.最后同樣看看applicationContext.xml是不是也有路徑的問(wèn)題。
像我就是導(dǎo)入U(xiǎn)serDAOImp.java時(shí)寫錯(cuò)路徑了,結(jié)果邊驗(yàn)證表單是不是空的都出錯(cuò),是非常快地報(bào)錯(cuò),很讓我郁悶!
感謝YY的解答,我用他給的DAO的測(cè)試類測(cè)試了程序 ,系統(tǒng)馬上報(bào)錯(cuò)說(shuō)是applicationContext.xml里面的UserDAOImp找不到,然后就感覺好像抓住了救命草,改了過(guò)來(lái)就一一下子成功了!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-24 09:52 by
哪為好心的大哥能幫小弟發(fā)一份完整的代碼呀,我的郵箱是ycplwb1314@163.com
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-25 01:00 by
@鐘文創(chuàng)
解決 Servlet action is not available
這個(gè)問(wèn)題
4.如果還不行的話,那就是applicationContext.xml的 開頭 錯(cuò)了,應(yīng)該為:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "
http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
.....
.....
</beans>
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-28 09:42 by
錄像請(qǐng)到www.oksonic.cn去下載,注冊(cè)一個(gè)用戶即可下載所有錄像!
錄像請(qǐng)到www.oksonic.cn去下載,注冊(cè)一個(gè)用戶即可下載所有錄像!
錄像請(qǐng)到www.oksonic.cn去下載,注冊(cè)一個(gè)用戶即可下載所有錄像!
錄像請(qǐng)到www.oksonic.cn去下載,注冊(cè)一個(gè)用戶即可下載所有錄像!
錄像請(qǐng)到www.oksonic.cn去下載,注冊(cè)一個(gè)用戶即可下載所有錄像!
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-29 16:54 by
就是他媽的這個(gè)問(wèn)題搞死人了:Servlet action is not available.上面的測(cè)試我的也通過(guò)了。為什么我在username和password中輸不輸入都沒(méi)有經(jīng)過(guò)驗(yàn)證就直接Servlet action is not available 這個(gè)了呢。。太不可思義了吧。為什么去掉<property name="mappingResources">
<list>
<value>com/wolf/User.hbm.xml</value>
</list>
</property> 就會(huì)執(zhí)行到驗(yàn)證呢。。 不論我參考什么資料做ssh練習(xí)。都是這個(gè)同樣的問(wèn)題沒(méi)法解決。。 誰(shuí)能給我一個(gè)理由啊。
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-30 09:57 by
如果是去掉這個(gè)配置就可以成功執(zhí)行的話就說(shuō)明映射文件和數(shù)據(jù)的關(guān)聯(lián)上出了問(wèn)題,檢查一下數(shù)據(jù)的結(jié)構(gòu),如:有沒(méi)有把ID設(shè)主鍵。
仔細(xì)檢查一下,問(wèn)題實(shí)際上已經(jīng)找到了。
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-30 10:16 by
但是我用樓上的一位仁兄的代碼:public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext context =
new FileSystemXmlApplicationContext(
"src/applicationContext.xml");
UserDAO userDAO =
(UserDAO) context.getBean("userDAO");
System.out.println("name: " + userDAO.isValidUser("test", "test"));
}
測(cè)試都是挺OK的啊。。說(shuō)明不是跟數(shù)據(jù)庫(kù)配置出問(wèn)題了啊。。我的myeclipse版本是5.5的。。會(huì)不會(huì)是hibernate3.0包會(huì)有問(wèn)題啊。。
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-30 10:19 by
啟動(dòng)tomcat后,日志里有這些個(gè)東東:
arking servlet action as unavailable
2007-08-30 09:33:27 StandardContext[/SSH829]Servlet /SSH829 threw load() exception
javax.servlet.UnavailableException
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:880)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1029)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4013)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-08-30 10:21 by
找不到action 錯(cuò)誤-----終極解決辦法
此錯(cuò)誤多是由于spring上下文載入失敗引起
在struts中引入了spring之后,工程的上下文便交給spring插件負(fù)責(zé)載入
在struts-config.xml中:
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
此時(shí)找不到action多是由配置文件的位置不對(duì)引起的,即服務(wù)器找不到applicationContext.xml,注意查看myEclipse是否將該配置文件復(fù)制到了正確的位置。
或者有其他錯(cuò)誤---------當(dāng)spring或者Hibernate配置文件中的配置有問(wèn)題時(shí)就會(huì)出現(xiàn)這種情況
出現(xiàn)這個(gè)問(wèn)題最有可能就是DAO類配置有錯(cuò)誤,sping的配置文件出錯(cuò)在web方式下是看不到的,可以寫個(gè)DAO的測(cè)試類在java環(huán)境下查錯(cuò)
public static void main(String[] args) {
String[] path = {"/WebRoot/WEB-INF/applicationContext.xml"};
ApplicationContext ctx = new FileSystemXmlApplicationContext(path);
UserDAO dao = (UserDAO) ctx.getBean("userDAO");
System.out.print(dao.isValidUser("uu","pp"));
很快可以找出錯(cuò)誤的地方;
歡迎交流:QQ-57875031
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-30 11:00 by
樓上:我上面不是已經(jīng)說(shuō)了測(cè)試過(guò)了嗎。。沒(méi)問(wèn)題啊。。能輸出預(yù)想的結(jié)果啊。
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-08-31 09:07 by
昨天白扯一天了。。總而言之,言而總之,遇到那些問(wèn)題的朋友很有可能是使用myeclipse的版本而引起的,歸根結(jié)底是包的問(wèn)題。。代碼沒(méi)問(wèn)題。。這能怨誰(shuí)去啊。。??
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-09-06 10:55 by
仔細(xì)看了一下,不錯(cuò)。當(dāng)前用的比較多的一種整合。
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-09-06 16:45 by
不錯(cuò),收藏!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-09-07 10:35 by
樓主的項(xiàng)目 用了spring的依賴注入么``
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
這個(gè)東西 樓主應(yīng)該沒(méi)配置
不然你那個(gè)loginaction 里怎么能用userDao屬性
樓上有個(gè)仁兄 說(shuō)找不到applicationContext.xml
樓主應(yīng)該沒(méi)配置
即使配置了 那個(gè)仁兄 你也得注意applicationContext.xml的位置對(duì)不對(duì)
總之 我用eclipse 不爽 呵呵
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-09-07 13:25 by
這年頭出現(xiàn)個(gè)樓主著這樣的人物不容易啊!!!!!!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-09-11 17:00 by
ssfsdf
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-09-12 15:08 by
看了一下,還行。
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-09-14 22:49 by
找不到action可能是因?yàn)閟pring配置文件在src目錄下所致,這時(shí)為
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
src下的文件編譯后跑到/WEB-INF/classes下面去了,項(xiàng)目運(yùn)行時(shí)是不調(diào)用src下的文件的.
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-09-22 15:45 by
String username=loginForm.getString("username");
String password=loginForm.getString("password");
這兩句是不對(duì)的 。
我在eclipse中報(bào)錯(cuò)
改成
String username=(String)loginForm.get("username");
String password=(String)loginForm.get("password");
即可
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-09-22 16:58 by
建議樓主, 把程序放出來(lái)能下載,實(shí)際上你帖出來(lái)的, 十有八九是調(diào)試不通的!!!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-10-15 15:35 by
希望某些人不要在那挑三揀四的,你要是覺得樓住做的不對(duì),或者不好,可以把你自己的程序貼出來(lái)啊,也讓大家看看!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-10-16 15:17 by
嚴(yán)重: action: null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-11-11 00:27 by
樓主已經(jīng)很不錯(cuò)了,為人做共享。請(qǐng)問(wèn)那些挑三揀四的笨蛋你有那種精神嗎?沒(méi)有別在這瞎叨叨!!!
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-11-12 14:13 by
用了Spring 后,就不要用Hibernate的映射文件了嗎???
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-11-26 10:59 by
這是<<精通J2EE 整合STRUTS SPRING HIBERNATE>>中的一個(gè)完整例子.書的作者本意是對(duì)的,有些JB人弄到網(wǎng)上把版權(quán)都弄成自己的了,更暈的是自己不了解什么是整合,還硬說(shuō)是自己整合,我靠!豬!哪天我把我的WEBWORK SPRING HIBERNATE發(fā)給大家,也可以到我163.COM的BLOG上去看.
http://ming204.blog.163.com/blog/static/417138132007102401647810/edit/
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-11-29 15:10 by
摟主愿意寫就不錯(cuò)了.至于細(xì)節(jié)是要靠自己去摸索的
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-12-04 15:33 by
我看完了,也測(cè)試過(guò)了,沒(méi)問(wèn)題,我用的是postgres數(shù)據(jù)庫(kù)。就是在做的時(shí)候小改了一些東西,人和人的思想不一樣嗎!干嗎把你的思想用來(lái)批評(píng)發(fā)帖子的人啦,人家只提供一種思想而已啊。但我覺得要讓這個(gè)例子更加完美,還是在userdao中多添加幾種對(duì)數(shù)據(jù)庫(kù)的操作方法,讓別人也了解hibernate啊。還是要謝謝樓主。
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-12-04 16:53 by
謝謝呀
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2007-12-19 10:19 by
看了大家的討論,覺得意見很多,我學(xué)SPRING也有段時(shí)日了,樓主所寫確實(shí)有欠妥當(dāng)?shù)牡胤健m槺阏?qǐng)教高手們一個(gè)問(wèn)題,我用Struts2+spring2+hibernate3的時(shí)候出了點(diǎn)問(wèn)題,老是說(shuō)Servlet action is not availabl(集成了多個(gè)spring的XML配置文件)
知道問(wèn)題的告訴下小弟 chenjiang588@163.com多謝
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2007-12-27 09:42 by
1、表示層
管理用戶請(qǐng)求,作出響應(yīng)
提供一個(gè)流程控制器,委派調(diào)用業(yè)務(wù)邏輯和其他上層處理
處理異常
為顯示提供數(shù)據(jù)模型
用戶界面的驗(yàn)證
不應(yīng)該出現(xiàn):高耦合,難維護(hù)
與數(shù)據(jù)庫(kù)直接通信
與應(yīng)用程序相關(guān)聯(lián)的業(yè)務(wù)邏輯及校驗(yàn)
事物處理
2、持久層:Hibernate
如何查詢對(duì)象的相關(guān)信息(HQL或正則表達(dá)式的API)
3、業(yè)務(wù)層(Spring,PicoContainer)依賴注射,控制反轉(zhuǎn)
處理應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)校驗(yàn)
管理業(yè)務(wù)層及的對(duì)象的依賴
在表示層和持久層之間增加一個(gè)靈活的機(jī)制,使得他們不直接聯(lián)系在一起
通過(guò)揭示從表示層到業(yè)務(wù)層之間的上下文來(lái)得到業(yè)務(wù)邏輯
管理程序的執(zhí)行(從業(yè)務(wù)層到持久層)
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-01-05 12:07 by
我在學(xué)Struts+Spring+Hibernate整合的時(shí)候也是出現(xiàn):
Servlet action is not available
在網(wǎng)上找了些資料,還是沒(méi)有解決這個(gè)問(wèn)題。
我的E-mail:huangshuidan@163.com
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-02-28 19:22 by
說(shuō)的太好了我還有點(diǎn)看不明白啊
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-03-07 21:14 by
type Status report
message Servlet action is not available
description The requested resource (Servlet action is not available) is not available.
我做到struts與spring時(shí)就提示這個(gè)錯(cuò)誤了,怎么回事啊,我是初學(xué)者請(qǐng)教大家,望大家多多指點(diǎn)啊
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-03-13 13:57 by
上邊的例子來(lái)至<精通J2EE-eclipse struts hibernate spring>吧!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-03-14 11:00 by
首先感謝樓主,其次很多細(xì)節(jié)表達(dá)不清楚,看不明白,本來(lái)就是給初學(xué)者看的,反正我看了是不知道怎么進(jìn)行
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-04-26 00:12 by
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2008-05-04 01:59 by
這是什么時(shí)候?qū)懙?技術(shù)有點(diǎn)陳舊
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-05-11 13:21 by
配置得不怎么完善
只能作為simple
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-05-18 13:20 by
離開建立棵十秒分斤克里秒分克里 哦安家費(fèi)拉薩機(jī)挖坡度佛安排上哦按時(shí)溫度計(jì)撒賴棵
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-05-18 13:21 by
每年充分不等式舉辦棵數(shù)據(jù)庫(kù)地方科技教科書大后方科技而今開發(fā)雕刻家會(huì)計(jì)師地方科技孔家店十分孔家店恢復(fù)
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-06-18 20:31 by
樓主真厲害,在Action中就直接調(diào)用DAO中的方法,不過(guò)我有點(diǎn)不明白怎么不加業(yè)務(wù)層呢?
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-07-17 14:15 by
今天很閑,突然想看看Struts+Spring+Hibernate,發(fā)現(xiàn)此帖。
發(fā)現(xiàn)好多人說(shuō)有 Servlet action is not available 異常。
自己寫了一下,也是這個(gè)錯(cuò)。
后來(lái)找了半天,原來(lái)是忘了導(dǎo)一個(gè)包,其實(shí)這個(gè)只能賴自己了。
博主已經(jīng)說(shuō)了,把spring的包全導(dǎo)出進(jìn)去方便。
以為自己有點(diǎn)經(jīng)驗(yàn)。就沒(méi)都導(dǎo)進(jìn)去。
結(jié)果忙乎的一個(gè)多小時(shí)找錯(cuò)。哎~!!!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-07-18 22:44 by
大家好.
首先,我得感覺樓主,因?yàn)樗o我們指出的大體的編程方向.
但是有些在編程中出現(xiàn)的問(wèn)題他可能沒(méi)有能夠一一給出,
那么,我今天一天對(duì)他的這個(gè)小程序的實(shí)現(xiàn),碰到了以下的問(wèn)題:
我在此也給出了解決方案(希望能對(duì)大家有幫助,技術(shù)共享是我們的目標(biāo)!)
1.利用myeclipse生成validatorForm時(shí),記得將里面的非get,set方法刪掉...
不然,就得在里面重寫一些校驗(yàn)方法了,而且如果不寫,程序?qū)⒉粫?huì)進(jìn)行校驗(yàn)!
因?yàn)榇a中的校驗(yàn)級(jí)別高于配置文件中的!
2.不要將action-mapping中的/login.jsp前面的/掉了
3.<%@ page language="java" contentType="text/html; charset=UTF-8" %>
這里面的charset部分一定不能掉,否則將會(huì)出現(xiàn)亂碼!切記!
4.出現(xiàn)500問(wèn)題,可能是沒(méi)有在sturts-config.xml文件中加載
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
5.struts 404
可能是由于myeclipse未加載完整的spring.jar包.
6.
500
hibernate3.1換成3.0試試!
7. org/springframework/orm/hibernate/support/HibernateDaoSupport 不能找到
原因:因?yàn)閷ibernate3.1換到了3.0,所以,這里的hibernate應(yīng)該變成hibernate3/support..
8.class="org.apache.commons.dbcp.BasicDataSource">
缺少DBCP包,在此處下載一個(gè):
http://commons.apache.org/downloads/download_dbcp.cgi
9.java.lang.NoClassDefFoundError: org.hibernate.cfg.Configuration
10.java.io.FileNotFoundException: Could not open class path resource [....hbm.xml],提示找不到xml文件?
原因一般有兩個(gè):
(1)該xml文件沒(méi)有在classpath中。
(2)applicationContext-hibernate.xml中的xml名字沒(méi)有帶包名。
11.Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
其實(shí),不管是哪種數(shù)據(jù)庫(kù),只要把對(duì)應(yīng)的JDBC包放入到tomcat 的common/lib下面即可,像本人現(xiàn)在使用的MYSQL
就要導(dǎo)入:mysql-connector-java-3.1.10-bin.jar
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-08-28 15:36 by
好,學(xué)習(xí)中。。。。
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-08-30 19:40 by
這個(gè)太簡(jiǎn)單了,想學(xué)的找我。
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-10-08 09:56 by
學(xué)習(xí)中 那位給我發(fā)份完整的啊 523276508@qq.com
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-10-08 09:57 by
北大青鳥教師 怎么聯(lián)系你啊 我想學(xué) qq 523276508
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2008-11-08 13:55 by
各位朋友!我在往數(shù)據(jù)庫(kù)中添加數(shù)據(jù)的時(shí)候,出現(xiàn)亂碼問(wèn)題,怎么才能解決這個(gè)問(wèn)題??QQ:527633364 郵件:lihui_xj@163.com
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-11-10 14:10 by
不錯(cuò)
可以當(dāng)練習(xí)玩了
多交流知識(shí)互相切磋啊
呵呵
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2008-12-16 14:21 by
fgd
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2009-02-24 15:37 by
@tony
沒(méi)有實(shí)體類
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2009-03-07 18:13 by
我在用ssh集成的時(shí)候碰到一種情況就是 我運(yùn)行出來(lái)后 要是我多刷新得幾次網(wǎng)頁(yè)就不回出來(lái)了 請(qǐng)問(wèn)有誰(shuí)知道原因 謝謝了!!!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2009-04-17 20:19 by
學(xué)習(xí)了
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2009-05-26 20:11 by
群:69834095 java,ajax,js,jsp技術(shù)交流,共同學(xué)習(xí)
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2009-05-27 15:43 by
dd
# re: Struts+Spring+Hibernate練習(xí)(完整)[未登錄](méi) 回復(fù) 更多評(píng)論
2009-08-10 09:39 by
@ssh那你為什么不發(fā)布一個(gè).
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2009-12-01 12:09 by
非常好的文章,謝謝樓主分享!
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2009-12-11 08:52 by
http://www.yewu365.com
請(qǐng)問(wèn),事務(wù)是在業(yè)務(wù)層進(jìn)行控制吧?
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2010-04-01 13:15 by
有點(diǎn)難學(xué),感謝分享
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2010-04-16 17:07 by
看看 不懂加qq 我們聊
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2010-04-16 17:11 by
學(xué)習(xí)
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2010-04-16 17:12 by
學(xué)習(xí)中
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2010-04-30 10:11 by
我記得在Struts中導(dǎo)入插件后還要
<action attribute="loginLogForm"
name="loginLogForm"
parameter="op"
path="/loginLog"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="loginList"
path="/SystemManager/LoginLog.jsp" />
</action>
然后再Spring的配置文件中
<bean name="/personnel" class="org.myoffice.struts.action.PersonnelAction">
<property name="personnelBiz" ref="personnelBiz"/>
<property name="systemBiz" ref="systemBiz"/>
</bean>
<property>是注入的標(biāo)簽
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2010-07-27 17:18 by
一點(diǎn)也不完整 就是垃圾
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2010-12-15 09:51 by
WEb.xml中如何添加呢?誠(chéng)懇期待
# re: Struts+Spring+Hibernate練習(xí)(完整) 回復(fù) 更多評(píng)論
2011-06-27 14:05 by
值得收藏!