s s h 问题,大侠救命,郁闷一天了

qbquan 2007-09-07 02:37:16
代码先:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<display-name>
LoginTest</display-name>
<servlet>
<servlet-name>strutsController</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>strutsController</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

</web-app>

struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

<struts-config>

<!-- ================================================ Form Bean Definitions -->

<form-beans>

<form-bean name="loginForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="username" type="java.lang.String"></form-property>
<form-property name="password" type="java.lang.String"></form-property>
</form-bean>

</form-beans>

<!-- =========================================== Global Forward Definitions -->

<global-forwards>
<forward name="indexGo" path="/success.jsp"></forward>
</global-forwards>


<!-- =========================================== Action Mapping Definitions -->

<action-mappings>

<action attribute="loginForm" input="/login.jsp"
name="loginForm" scope="request" path="/login" validate="true"
type="org.springframework.web.struts.DelegatingActionProxy">
</action>

</action-mappings>


<!-- ======================================== Message Resources Definitions -->

<message-resources parameter="com.test.struts.ApplicationResources" />

<!-- =================================================== Validator plugin -->

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>

</struts-config>

applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<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/meonline</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>1</value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>
User.hbm.xml
</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialet">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframeword.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="userDAO" class="com.test.Hibernate.UserDAO">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean name="/login" class="com.test.struts.action.LoginAction" singleton="false">
<property name="userDAO">
<ref bean="userDAO"/>
</property>
</bean>
</beans>

User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibername Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.test.Hibernate.User" table="user">
<id name="id" type="integer">
<column name="ID"></column>
<generator class="native"></generator>
</id>
<property name="username" type="String">
<column name="USERNAME" length="50" not-null="true"></column>
</property>
<property name="password" type="String">
<column name="PASSWORD" length="50" not-null="true"></column>
</property>
</class>
</hibernate-mapping>

致命的: No action instance for path /login could be created
java.lang.ClassNotFoundException: org.springframework.web.struts.DelegatingActionProxy
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:117)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:280)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:218)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)

网上我找了一天了,有的是struts-config.xml中的路径错了
有的是applicationContext.xml中的action路径错了
但是我对了半天,甚至这些路径都用复制的还是不行
...全文
288 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhzx_zjg 2007-09-23
  • 打赏
  • 举报
回复
没加载插件
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
kingwang1001 2007-09-20
  • 打赏
  • 举报
回复
和我们的项目比较了一下,应该没什么问题,就是web.xml中元素的位置有些不同,你把<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
放到<display-name>
LoginTest</display-name>之后试试
kjfurjcudj 2007-09-18
  • 打赏
  • 举报
回复
org.springframework.web.struts.DelegatingActionProxy 找不到这个类
你用eclipse搜一下 看能不能搜到
blue_fire2007 2007-09-17
  • 打赏
  • 举报
回复

spring的application 中已经申明过
<bean name="/login" class="com.test.struts.action.LoginAction" singleton="false">

struts。config文件中还是
type="org.springframework.web.struts.DelegatingActionProxy"
好像这样是不对的
qbquan 2007-09-07
  • 打赏
  • 举报
回复
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 org.apache.struts.validator.DynaValidatorForm;

import com.test.Hibernate.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;
String username = loginForm.getString("username");
String password = loginForm.getString("password");
if (userDao.isValidUser(username, password)) {
request.setAttribute("user", username);
return mapping.findForward("indexGo");
} else {
return mapping.getInputForward();
}
}
}





package com.test.Hibernate;

import java.io.Serializable;

public abstract class AbstractUser implements Serializable {

private int hashValue = 0;

private Integer id;

private String username;

private String password;

public AbstractUser() {
}

public AbstractUser(String username, String password) {
super();
this.username = username;
this.password = password;
}

public AbstractUser(Integer id) {
this.setId(id);
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public boolean equals(Object rhs) {
if (rhs == null) {
return false;
}
if (!(rhs instanceof User)) {
return false;
}
User that = (User) rhs;
if (this.getId() == null || that.getId() == null) {
return false;
}
return (this.getId().equals(that.getId()));
}

public int hashCode() {
if (this.hashValue == 0) {
int result = 17;
int idValue = this.getId() == null ? 0 : this.getId().hashCode();
result = result * 37 + idValue;
this.hashValue = result;
}
return this.hashValue;
}
}





package com.test.Hibernate;

import java.io.Serializable;

public class User extends AbstractUser implements Serializable {

public User() {
super();
// TODO Auto-generated constructor stub
}

public User(Integer id) {
super(id);
// TODO Auto-generated constructor stub
}

}





package com.test.Hibernate;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.criterion.Example;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class UserDAO extends HibernateDaoSupport {

private static final Log log = LogFactory.getLog(UserDAO.class);

private static String hql = "from User u where u.username=? and password=?";

protected void initDao() {

}

public boolean isValidUser(String username, String password) {

System.out.println("in UserDAO IsValid");

String[] userlist = new String[2];
userlist[0] = username;
userlist[1] = password;

List userList = this.getHibernateTemplate().find(hql, userlist);

if (userList.size() == 0) {
return true;
}

return false;
}

public void save(User trasientInstance) {
log.debug("saving User instance");
try {
getHibernateTemplate().saveOrUpdate(trasientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}

public void delete(User persistentInstance) {
log.debug("deleting User instance");
try {
getHibernateTemplate().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}

public User findById(Integer id) {
log.debug("getting User instance with id : " + id);
try {
User instance = (User) getHibernateTemplate().get("User", id);
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}

public List findByExample(User instance) {
log.debug("finding User instance by example");
try {
List results = getSession().createCriteria("User").add(Example.create(instance)).list();
log.debug("find by example successful, result size : " + results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}

public User merge(User detachedInstance) {
log.debug("merging User instance");
try {
User result = (User)getHibernateTemplate().merge(detachedInstance);
log.debug("merge successful");
return result;
} catch (RuntimeException re) {
log.error("merge failed", re);
throw re;
}
}

public void attachDirty(User instance) {
log.debug("attaching dirty User instance");
try {
getHibernateTemplate().saveOrUpdate(instance);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}

public static UserDAO getFromApplicationContext(ApplicationContext ctx) {
return (UserDAO) ctx.getBean("UserDao");
}
}

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧