锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
2006-03-23 17:24:15 StandardContext[/servlets-examples]ContextListener: contextInitialized()
2006-03-23 17:24:15 StandardContext[/servlets-examples]SessionListener: contextInitialized()
2006-03-23 17:24:16 StandardContext[/jsp-examples]ContextListener: contextInitialized()
2006-03-23 17:24:16 StandardContext[/jsp-examples]SessionListener: contextInitialized()
2006-03-23 17:24:49 StandardContext[/ssh]Initializing WebApplicationContext for Struts ActionServlet 'action', module ''
2006-03-23 17:24:57 StandardContext[/login]Initializing WebApplicationContext for Struts ActionServlet 'action', module ''
2006-03-23 17:25:06 StandardContext[/login]action: null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: could not instantiate id generator
org.hibernate.MappingException: could not instantiate id generator
聽at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:92)
聽at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:151)
聽at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:178)
聽at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1005)
聽at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:800)
聽at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:726)
聽at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1059)
聽at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
聽at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
聽at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
聽at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:269)
聽at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320)
聽at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
聽at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:353)
聽at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:296)
聽at org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn.java:225)
聽at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:869)
聽at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
聽at javax.servlet.GenericServlet.init(GenericServlet.java:256)
聽at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
聽at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:887)
聽at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3959)
聽at org.apache.catalina.core.StandardContext.start(StandardContext.java:4284)
聽at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
聽at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:850)
聽at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:638)
聽at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:320)
聽at org.apache.catalina.core.StandardHost.install(StandardHost.java:875)
聽at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:727)
聽at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:477)
聽at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1008)
聽at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:394)
聽at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
聽at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1134)
聽at org.apache.catalina.core.StandardHost.start(StandardHost.java:832)
聽at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1126)
聽at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:521)
聽at org.apache.catalina.core.StandardService.start(StandardService.java:519)
聽at org.apache.catalina.core.StandardServer.start(StandardServer.java:2345)
聽at org.apache.catalina.startup.Catalina.start(Catalina.java:594)
聽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:324)
聽at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:297)
聽at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:398)
Caused by: org.hibernate.MappingException: Dialect does not support sequences
聽at org.hibernate.dialect.Dialect.getSequenceNextValString(Dialect.java:430)
聽at org.hibernate.id.SequenceGenerator.configure(SequenceGenerator.java:65)
聽at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:88)
聽... 45 more
2006-03-23 17:25:06 StandardContext[/login]Marking servlet action as unavailable
2006-03-23 17:25:06 StandardContext[/login]Servlet /login 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:256)
聽at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
聽at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:887)
聽at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3959)
聽at org.apache.catalina.core.StandardContext.start(StandardContext.java:4284)
聽at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
聽at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:850)
聽at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:638)
聽at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:320)
聽at org.apache.catalina.core.StandardHost.install(StandardHost.java:875)
聽at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:727)
聽at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:477)
聽at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1008)
聽at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:394)
聽at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
聽at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1134)
聽at org.apache.catalina.core.StandardHost.start(StandardHost.java:832)
聽at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1126)
聽at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:521)
聽at org.apache.catalina.core.StandardService.start(StandardService.java:519)
聽at org.apache.catalina.core.StandardServer.start(StandardServer.java:2345)
聽at org.apache.catalina.startup.Catalina.start(Catalina.java:594)
聽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:324)
聽at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:297)
聽at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:398)
2006-03-23 17:27:02 StandardWrapperValve[action]: Servlet action is currently unavailable
浠ヤ笅鏄▼搴忕殑鐩綍緇撴瀯錛?br />src
聽 ---com
聽聽聽聽聽 ----test
聽聽聽聽聽聽聽聽聽 ---hibernate
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ----AbstractUser.java
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ----SessionFactory.java
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ----User.hbm.xml
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ----User.java
聽聽聽聽聽聽聽聽聽 ----struts
聽聽聽聽聽聽聽聽聽聽聽聽聽 --action
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LoginAction.java
聽聽聽聽聽聽聽聽聽 -----UserDao.java
聽聽聽聽聽聽聽聽聽 -----UserDaoIMP.java
聽 -----WebRoot
聽聽聽聽聽聽聽聽聽 ----index.jsp
浠ヤ笅鏄痑pplicationContext.xml鐨勫唴瀹癸細(xì)
聽聽聽聽聽 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "<beans>
聽 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
聽聽<property name="driverClassName">
聽聽聽<value>net.sourceforge.jtds.jdbc.Driver</value>
聽聽</property>
聽聽<property name="url">
聽聽聽<value>jdbc:jtds:sqlserver://192.168.1.171:1433;DatabaseName=test;SelectMethod=cursor</value>
聽聽</property>
聽聽<property name="username">
聽聽聽<value>sa</value>
聽聽</property>
聽聽<property name="password">
聽聽聽<value></value>
聽聽</property>
聽</bean>
聽聽聽聽聽聽聽 <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>
UserDao.java鐨勪唬鐮侊細(xì)
package com.test;
public interface UserDAO {
聽public abstract boolean isValidUser(String username, String password);
}
UserDaoIMP.java鐨勪唬鐮侊細(xì)
聽package com.test;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class UserDAOImp extends HibernateDaoSupport implements UserDAO {
聽private static String hql = "from User u where u.username=? and password=?";
聽public boolean isValidUser(String username, String password) {
聽聽String[] userlist=new String[2];
聽聽userlist[0]=username;
聽聽userlist[1]=password;
//聽聽List userList = this.getHibernateTemplate().find(hql, (Object)username);
聽聽List userList = this.getHibernateTemplate().find(hql,userlist);
聽聽if (userList.size() > 0) {
聽聽聽return true;
聽聽}
聽聽return false;
聽}
}
LoginAction.java鐨勪唬鐮?
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 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) {
聽聽if (userDAO.isValidUser("test","test")) {
聽聽聽return mapping.getInputForward();
聽聽} else {
聽聽聽return mapping.getInputForward();
聽}
聽}
}
index.jsp鐨勫唴瀹癸細(xì)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()
+":"+request.getServerPort()+path+"/";
%>
<html>
聽 <head>
聽聽聽 </head>
聽聽 <body>
聽 <a href="<%=basePath%>login.do">login</a>
聽 </body>
</html>
浠ヤ笅鏄痟ibernate鑷姩鐢熸垚鐨刄ser.hbm.xml錛宧ibernate.cfg.xml鏂囦歡鎴戝凡緇忓垹闄や簡(jiǎn)銆?/p>
<?xml version="1.0"?> <struts-config> 璁╀漢涓嶈В鐨勬槸,褰撴垜鐐瑰嚮login榪炴帴鏃訛紝鍑虹幇浜?jiǎn)浠ヤ笅閿欒淇℃伅锛?xì) type Status report message Servlet action is not available description The requested resource (Servlet action is not available) is not available.
<?xml version="1.0" encoding="UTF-8"?> -beans.dtd">
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"<!--
聽聽聽 Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
聽聽聽 <class name="com.test.Hibernate.User" table="user" schema="dbo" catalog="test">
聽聽聽聽聽聽聽 <id name="id" type="integer">
聽聽聽聽聽聽聽聽聽聽聽 <column name="ID" />
聽聽聽聽聽聽聽聽聽聽聽 <generator class="sequence" />
聽聽聽聽聽聽聽 </id>
聽聽聽聽聽聽聽 <property name="username" type="string">
聽聽聽聽聽聽聽聽聽聽聽 <column name="USERNAME" length="50" />
聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽 <property name="password" type="string">
聽聽聽聽聽聽聽聽聽聽聽 <column name="PASSWORD" length="50" />
聽聽聽聽聽聽聽 </property>
聽聽聽 </class>
</hibernate-mapping>
struts-config.xml鐨勪唬鐮佸涓?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "
聽 <data-sources />
聽 <form-beans />
聽 <global-exceptions />
聽 <global-forwards />
聽 <action-mappings >
聽聽聽 <action path="/login" type="org.springframework.web.struts.DelegatingActionProxy" />
聽</action-mappings>
聽<message-resources parameter="com.test.struts.ApplicationResources" />
聽 <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
聽聽聽 <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
聽 </plug-in>
</struts-config>
--------------------------------------------------------------------------------
褰撴垜鎶奱pplicationContext.xml鏀規(guī)垚浠ヤ笅鍚庯細(xì)
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring
<beans>
聽聽聽聽聽聽聽 <bean name="/login" class="com.test.struts.action.LoginAction" singleton="false">
聽</bean>
</beans>
紼嬪簭鑳藉姝e父榪愯騫舵墽琛屽埌浜?jiǎn)鎴戣畱譁↙oginAction.java涓殑孌電偣錛岀敱姝ょ湅鏉ワ紝搴旇鏄?br />applicationContext.xml鐨勯厤緗嚭浜?jiǎn)闂?
浣嗕笉鐭ラ亾闂鍑哄湪浠涔堝湴鏂癸紵鏄笉鏄暟鎹簮閰嶉敊浜?jiǎn)锛熷Q?/p>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽