HTTP Status 404 - --------------------------------------------------------------------------------type Status reportmessage description The requested resource () is not available.
一个下午都是这个错误,上网找了也不行,杯具了
只是一个SSH2的登陆实例,但一配置spring就是这样的错,跳楼的心都有,求大侠解救,感激不尽,唯有以分相许applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/xyj"></property>
<property name="username" value="root"></property>
<property name="password" value="123"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="PersonDAO" class="note.dao.PersonDAO" abstract="true"></bean>
<bean id="persondaoimpl"
class="note.impl.PersonDAOImpl" parent="persondao" >
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean name="personaction" class="note.action.PersonAction" >
<property name="persondao">
<ref bean="persondaoimpl" />
</property>
</bean>
</beans>
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="struts2" extends="struts-default">
<action name="login" class="personaction">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 对Spring容器进行实例化 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置struts2,自动 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list></web-app>
package note.action;import java.util.Map;import note.dao.PersonDAO;
import note.vo.Person;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class PersonAction extends ActionSupport{
private String username;
private String password;
private PersonDAO persondao;
public PersonDAO getPersondao() {
return persondao;
}
public void setPersondao(PersonDAO persondao) {
this.persondao = persondao;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() throws Exception {
ActionContext ctx=ActionContext.getContext();
Map session=ctx.getSession();
Person per = new Person();
per.setId(getUsername());
per.setPassword(getPassword());
boolean flag = true ;
System.out.println("flag:"+flag);
System.out.println("getUsername():"+getUsername());
try {
flag = this.persondao.login(per) ;
} catch (Exception e) {
e.printStackTrace();
}
if(flag)
{
session.put("username", getUsername());
return SUCCESS;
}
else
return INPUT;
}
}package note.dao;import note.vo.Person;public interface PersonDAO {
public boolean login(Person person)throws Exception;
}package note.impl;import java.util.List;import note.dao.PersonDAO;
import note.vo.Person;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class PersonDAOImpl extends HibernateDaoSupport implements PersonDAO { /*
* 功能: · 判断是否是正确的用户名或密码 · 从数据库中取出用户的真实姓名
*/
public boolean login(Person person) throws Exception {
boolean flag = false;
String hql = "FROM Person AS p WHERE p.id=? AND p.password=?";
Query q = super.getSession().createQuery(hql);
q.setString(0, person.getId());
q.setString(1, person.getPassword());
List all = q.list();
if (all.size() > 0) {
flag = true;
person.setName(((Person) all.get(0)).getName());
}
return flag;
}
}package note.vo;public class Person {
private String id;
private String name;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
一个下午都是这个错误,上网找了也不行,杯具了
只是一个SSH2的登陆实例,但一配置spring就是这样的错,跳楼的心都有,求大侠解救,感激不尽,唯有以分相许applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/xyj"></property>
<property name="username" value="root"></property>
<property name="password" value="123"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="PersonDAO" class="note.dao.PersonDAO" abstract="true"></bean>
<bean id="persondaoimpl"
class="note.impl.PersonDAOImpl" parent="persondao" >
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean name="personaction" class="note.action.PersonAction" >
<property name="persondao">
<ref bean="persondaoimpl" />
</property>
</bean>
</beans>
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="struts2" extends="struts-default">
<action name="login" class="personaction">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 对Spring容器进行实例化 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置struts2,自动 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list></web-app>
package note.action;import java.util.Map;import note.dao.PersonDAO;
import note.vo.Person;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class PersonAction extends ActionSupport{
private String username;
private String password;
private PersonDAO persondao;
public PersonDAO getPersondao() {
return persondao;
}
public void setPersondao(PersonDAO persondao) {
this.persondao = persondao;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() throws Exception {
ActionContext ctx=ActionContext.getContext();
Map session=ctx.getSession();
Person per = new Person();
per.setId(getUsername());
per.setPassword(getPassword());
boolean flag = true ;
System.out.println("flag:"+flag);
System.out.println("getUsername():"+getUsername());
try {
flag = this.persondao.login(per) ;
} catch (Exception e) {
e.printStackTrace();
}
if(flag)
{
session.put("username", getUsername());
return SUCCESS;
}
else
return INPUT;
}
}package note.dao;import note.vo.Person;public interface PersonDAO {
public boolean login(Person person)throws Exception;
}package note.impl;import java.util.List;import note.dao.PersonDAO;
import note.vo.Person;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class PersonDAOImpl extends HibernateDaoSupport implements PersonDAO { /*
* 功能: · 判断是否是正确的用户名或密码 · 从数据库中取出用户的真实姓名
*/
public boolean login(Person person) throws Exception {
boolean flag = false;
String hql = "FROM Person AS p WHERE p.id=? AND p.password=?";
Query q = super.getSession().createQuery(hql);
q.setString(0, person.getId());
q.setString(1, person.getPassword());
List all = q.list();
if (all.size() > 0) {
flag = true;
person.setName(((Person) all.get(0)).getName());
}
return flag;
}
}package note.vo;public class Person {
private String id;
private String name;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
<constant name="struts.objectFactory" value="spring" />
好像是不用配置的吧,删了试试;
看下控制台,项目是不是成功启动了,首页能进不??
<%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>留言板</title>
</head>
<body>
<center>
<s:form action="login">
<s:textfield name="username" label="用户名"></s:textfield><br>
<s:password name="password" label="密 码"></s:password><br>
<s:submit value="确认"></s:submit>
<s:reset value="重置"></s:reset>
</s:form>
</center>
</body>
</html>
struts2和spring集成用的jar包有没啊
struts2-spring-plugin-2.0.6.jar
2010-9-18 16:28:18 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.20.
2010-9-18 16:28:18 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], ra
ndom [true].
2010-9-18 16:28:19 org.apache.coyote.http11.Http11AprProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2010-9-18 16:28:19 org.apache.coyote.ajp.AjpAprProtocol init
信息: Initializing Coyote AJP/1.3 on ajp-8009
2010-9-18 16:28:19 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1487 ms
2010-9-18 16:28:19 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2010-9-18 16:28:19 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.29
(0 ms) [Thread-2] INFO : org.springframework.web.context.ContextLoader#initWebAp
plicationContext : Root WebApplicationContext: initialization started
(60 ms) [Thread-2] INFO : org.springframework.web.context.support.XmlWebApplicat
ionContext#prepareRefresh : Refreshing org.springframework.web.context.support.X
mlWebApplicationContext@ff2413: display name [Root WebApplicationContext]; start
up date [Sat Sep 18 16:28:20 CST 2010]; root of context hierarchy
(180 ms) [Thread-2] INFO : org.springframework.beans.factory.xml.XmlBeanDefiniti
onReader#loadBeanDefinitions : Loading XML bean definitions from ServletContext
resource [/WEB-INF/applicationContext.xml]
(2880 ms) [Thread-2] INFO : org.springframework.web.context.support.XmlWebApplic
ationContext#obtainFreshBeanFactory : Bean factory for application context [org.
springframework.web.context.support.XmlWebApplicationContext@ff2413]: org.spring
framework.beans.factory.support.DefaultListableBeanFactory@17a1767
(2990 ms) [Thread-2] INFO : org.springframework.beans.factory.support.DefaultLis
tableBeanFactory#preInstantiateSingletons : Pre-instantiating singletons in org.
springframework.beans.factory.support.DefaultListableBeanFactory@17a1767: defini
ng beans [dataSource,sessionFactory,userDao,userService,saveUserAction]; root of
factory hierarchy
(3195 ms) [Thread-2] INFO : org.hibernate.cfg.Environment#<clinit> : Hibernate 3
.2.5
(3200 ms) [Thread-2] INFO : org.hibernate.cfg.Environment#<clinit> : hibernate.p
roperties not found
(3205 ms) [Thread-2] INFO : org.hibernate.cfg.Environment#buildBytecodeProvider
: Bytecode provider name : cglib
(3215 ms) [Thread-2] INFO : org.hibernate.cfg.Environment#<clinit> : using JDK 1
.4 java.sql.Timestamp handling
(3705 ms) [Thread-2] INFO : org.hibernate.cfg.HbmBinder#bindRootPersistentClassC
ommonValues : Mapping class: com.test.bean.User -> user
(3750 ms) [Thread-2] INFO : org.springframework.orm.hibernate3.LocalSessionFacto
ryBean#buildSessionFactory : Building new Hibernate SessionFactory
(3875 ms) [Thread-2] INFO : org.hibernate.connection.ConnectionProviderFactory#n
ewConnectionProvider : Initializing connection provider: org.springframework.orm
.hibernate3.LocalDataSourceConnectionProvider
(4300 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : RD
BMS: MySQL, version: 5.1.40-community
(4300 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : JD
BC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.8 ( Revision:
${svn.Revision} )
(4335 ms) [Thread-2] INFO : org.hibernate.dialect.Dialect#<init> : Using dialect
: org.hibernate.dialect.MySQLDialect
(4350 ms) [Thread-2] INFO : org.hibernate.transaction.TransactionFactoryFactory#
buildTransactionFactory : Using default transaction strategy (direct JDBC transa
ctions)
(4355 ms) [Thread-2] INFO : org.hibernate.transaction.TransactionManagerLookupFa
ctory#getTransactionManagerLookup : No TransactionManagerLookup configured (in J
TA environment, use of read-write or transactional second-level cache is not rec
ommended)
(4355 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Au
tomatic flush during beforeCompletion(): disabled
(4355 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Au
tomatic session close at end of transaction: disabled
(4355 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : JD
BC batch size: 15
(4360 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : JD
BC batch updates for versioned data: disabled
(4365 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Sc
rollable result sets: enabled
(4365 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : JD
BC3 getGeneratedKeys(): enabled
(4365 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Co
nnection release mode: on_close
(4370 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Ma
ximum outer join fetch depth: 2
(4370 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : De
fault batch fetch size: 1
(4370 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Ge
nerate SQL with comments: disabled
(4375 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Or
der SQL updates by primary key: disabled
(4375 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Or
der SQL inserts for batching: disabled
(4375 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#createQueryTransla
torFactory : Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
(4385 ms) [Thread-2] INFO : org.hibernate.hql.ast.ASTQueryTranslatorFactory#<ini
t> : Using ASTQueryTranslatorFactory
(4385 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Qu
ery language substitutions: {}
(4385 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : JP
A-QL strict compliance: disabled
(4385 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Se
cond-level cache: enabled
(4385 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Qu
ery cache: disabled
(4390 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#createCacheProvide
r : Cache provider: org.hibernate.cache.NoCacheProvider
(4390 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Op
timize cache for minimal puts: disabled
(4390 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : St
ructured second-level cache entries: disabled
(4400 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : St
atistics: disabled
(4405 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : De
leted entity synthetic identifier rollback: disabled
(4405 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : De
fault entity-mode: pojo
(4405 ms) [Thread-2] INFO : org.hibernate.cfg.SettingsFactory#buildSettings : Na
med query checking : enabled
(4460 ms) [Thread-2] INFO : org.hibernate.impl.SessionFactoryImpl#<init> : build
ing session factory
(4970 ms) [Thread-2] INFO : org.hibernate.impl.SessionFactoryObjectFactory#addIn
stance : Not binding factory to JNDI, no JNDI name configured
(5045 ms) [Thread-2] INFO : org.springframework.web.context.ContextLoader#initWe
bApplicationContext : Root WebApplicationContext: initialization completed in 50
35 ms
2010-9-18 16:28:25 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2010-9-18 16:28:25 org.apache.catalina.core.StandardContext start
严重: Context [/ssh] startup failed due to previous errors
(5060 ms) [Thread-2] INFO : org.springframework.web.context.support.XmlWebApplic
ationContext#doClose : Closing org.springframework.web.context.support.XmlWebApp
licationContext@ff2413: display name [Root WebApplicationContext]; startup date
[Sat Sep 18 16:28:20 CST 2010]; root of context hierarchy
(5060 ms) [Thread-2] INFO : org.springframework.beans.factory.support.DefaultLis
tableBeanFactory#destroySingletons : Destroying singletons in org.springframewor
k.beans.factory.support.DefaultListableBeanFactory@17a1767: defining beans [data
Source,sessionFactory,userDao,userService,saveUserAction]; root of factory hiera
rchy
(5060 ms) [Thread-2] INFO : org.springframework.orm.hibernate3.LocalSessionFacto
ryBean#destroy : Closing Hibernate SessionFactory
(5065 ms) [Thread-2] INFO : org.hibernate.impl.SessionFactoryImpl#close : closin
g
2010-9-18 16:28:25 org.apache.catalina.loader.WebappClassLoader clearReferencesJ
dbc
严重: The web application [/ssh] registered the JBDC driver [com.mysql.jdbc.Driv
er] but failed to unregister it when the web application was stopped. To prevent
a memory leak, the JDBC Driver has been forcibly unregistered.
2010-9-18 16:28:25 org.apache.catalina.loader.WebappClassLoader clearReferencesT
hreads
严重: The web application [/ssh] appears to have started a thread named [Timer-0
] but has failed to stop it. This is very likely to create a memory leak.
2010-9-18 16:28:25 org.apache.catalina.loader.WebappClassLoader clearReferencesT
hreads
严重: The web application [/ssh] appears to have started a thread named [MySQL S
tatement Cancellation Timer] but has failed to stop it. This is very likely to c
reate a memory leak.
2010-9-18 16:28:25 org.apache.catalina.startup.HostConfig deployDescriptor
信息: Deploying configuration descriptor manager.xml
2010-9-18 16:28:25 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2010-9-18 16:28:25 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory docs
2010-9-18 16:28:25 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2010-9-18 16:28:25 org.apache.coyote.ajp.AjpAprProtocol start
信息: Starting Coyote AJP/1.3 on ajp-8009
2010-9-18 16:28:25 org.apache.catalina.startup.Catalina start
信息: Server startup in 6626 ms