-
struts+spring+hibernate配置出现问题,求解答25
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <form-beans > <form-bean name="userForm" type="cn.iomo.struts.form.UserForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="userForm" input="/errors.jsp" name="userForm" path="/user" scope="request" type="com.yourcompany.struts.action.UserAction"> <forward name="success" path="/success.jsp" /> <forward name="fail" path="/fail.jsp" /> </action> </action-mappings> <!-- struts和spring联合在一起啦 --> <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller> <message-resources parameter="cn.iomo.struts.ApplicationResources" /> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" /> </plug-in> </struts-config>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- 加载spring支持 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/applicationContext.xml </param-value> </context-param> <servlet> <servlet-name>context</servlet-name> <servlet-class> org.springframework.web.context.ContextLoaderServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>action</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> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
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.0.xsd"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="org.gjt.mm.mysql.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/dream"> </property> <property name="username" value="root"></property> <property name="password" value="123456"></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> <prop key="hibernate.connection.autocommit">true</prop> <!-- 显示SQL语句 --> <prop key="hibernate.show_sql">true</prop> <!-- 自动提交 --> </props> </property> <property name="mappingResources"> <list> <value>cn/iomo/vo/User.hbm.xml</value></list> </property></bean> <!-- Hibernate模板 --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> <!-- DAO管理 --> <bean id="userDAO" class="cn.iomo.dao.UserDAO"></bean> <!-- DAO实现类管理 --> <bean id="userDAOImpl" class="cn.iomo.dao.impl.UserDAOImpl" parent="userDAO"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate"/> </property> </bean> <!-- Action管理 --> <bean name="/user" class="cn.iomo.struts.action.UserAction"> <property name="userDAO"> <ref local="userDAO"/> </property> </bean> </beans>
问题补充:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for UserForm form</title>
</head>
<body>
<center>
<h1>用户注册</h1>
<hr>
<html:form action="/user">
Username : <html:text property="username"/><html:errors property="username"/><br/>
Password : <html:text property="password"/><html:errors property="password"/><br/>
Sex : <html:radio property="sex" value="boy"></html:radio>
<html:radio property="sex" value="girl"></html:radio><br/>
Email : <html:text property="email"/><html:errors property="email"/><br/>
<html:hidden property="type"/><html:errors property="type"/><br/>
<html:submit value="注册"/> <html:cancel value="重置"/>
</html:form>
</center>
</body>
</html>
当我点击SUBMIT的时候直接跳转到404窗口。应该是没有触发action,请问问题是出现在什么地方?
问题补充:
还有什么地方可以进行改进,优化的。
问题补充:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package cn.iomo.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import cn.iomo.dao.UserDAO;
import cn.iomo.struts.form.UserForm;
import cn.iomo.vo.User;
/**
* MyEclipse Struts
* Creation date: 05-22-2008
*
* XDoclet definition:
* @struts.action path="/user" name="userForm" input="/errors.jsp" scope="request" validate="true"
* @struts.action-forward name="success" path="success.jsp"
* @struts.action-forward name="fail" path="fail.jsp"
*/
public class UserAction extends DispatchAction {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
private UserDAO userDAO;
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
/*
*
* 用户注册
*
*/
public ActionForward regist(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
User user = new User();
user.setUsername(userForm.getUsername());
user.setPassword(userForm.getPassword());
user.setSex(userForm.getSex());
user.setEmail(userForm.getEmail());
try {
userDAO.registUser(user);
request.getSession().setAttribute("username", user.getUsername());
return mapping.findForward("success");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return mapping.findForward("fail");
}
}
}
问题补充:
struts配置文件里
<action...
type="com.yourcompany.struts.action.UserAction">这不对,改成
type="org.springframework.web.struts.DelegatingActionProxy">
已经改过了,不行2008年5月23日 09:11
8个答案 按时间排序 按投票排序
-
采纳的答案
web.xml
<!-- Spring初始化 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>2008年5月29日 09:47
-
报错的异常也贴出来啊
把web.xml这段去掉
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>2008年5月26日 14:18
-
struts配置文件里
<action...
type="com.yourcompany.struts.action.UserAction">这不对,改成
type="org.springframework.web.struts.DelegatingActionProxy">
2008年5月24日 12:51
-
你的Struts的action没有交给spring做代理。
看下我的写法
struts配置:
<action path="/action" scope="request"
type="org.springframework.web.struts.DelegatingActionProxy"
validate="false">
</action>
spring配置
<bean name="/action"
class="Action类名如com.myaction.MyAction">
<property name="bean属性明">
<ref bean="注入的bean" />
</property>
</bean>
里面/action表示你的Action的路径为action.do
注入的bean为action中需要注入属性bean2008年5月23日 13:17
-
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
这段删了2008年5月23日 13:11
-
问题原因肯定是多种多样的,而且开发环境的各种因素都有可能有这种事务。
之前碰到过一次,是因为依赖的jar不全。
解决的有效办法是自己找出原因:配置一下log4j,看看日志输出的错误信息。2008年5月23日 12:42
相关推荐
简单struts+spring+hibernate搭建,配置,适合初学者
DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能
基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...
2. **配置文件**:struts-config.xml定义Struts的配置,spring-beans.xml管理Spring的bean,hibernate.cfg.xml配置Hibernate的数据库连接,可能还有实体类的映射文件(hbm.xml或使用注解)。 3. **JSP页面**:展示...
struts2+spring+hibernate 配置文件struts2+spring+hibernate 配置文件
项目原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6 二、 项目目的: 整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + ...
农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts ...
基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于...
SSH整合的关键在于配置文件,包括Struts 2的struts.xml、Spring的applicationContext.xml和Hibernate的hibernate.cfg.xml。这些文件定义了各组件之间的关系和行为。例如,struts.xml中配置Action类及其结果视图,...
基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) 基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) 基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) ...
网上订餐系统(struts+spring+hibernate).rar 网上订餐设计主要采用采用MYSQL数据库进行数据表的设计,利用JSP的动态生成页面编程技术, 实现了用网络展示餐饮信息、浏览餐饮页面、注册客户、更改客户信息;同时,...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
SSH(Struts+Spring+Hibernate)是一个经典的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。这个教务管理信息系统是基于SSH框架实现的,提供了完整的源代码,可以直接运行,便于开发者学习和参考。 **...
Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...
Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1
Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例...
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...
论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...
SSH(Struts+Spring+Hibernate)是Java Web开发中一种常见的技术栈,它将MVC设计模式、依赖注入和持久层框架集成为一个整体,大大提高了开发效率和代码的可维护性。下面我们将深入探讨SSH框架的各个组成部分及其结合...
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1