struts-config.xml
[code="java"]<?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">
attribute="userForm"
input="/errors.jsp"
name="userForm"
path="/user"
scope="request"
type="com.yourcompany.struts.action.UserAction">
<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>
[/code]
web.xml
[code="java"]
<?xml version="1.0" encoding="UTF-8"?>
<!-- 加载spring支持 -->
contextConfigLocation
/WEB-INF/classes/applicationContext.xml
context
org.springframework.web.context.ContextLoaderServlet
1
action
org.apache.struts.action.ActionServlet
config
/WEB-INF/struts-config.xml
debug
3
detail
3
0
action
*.do
index.jsp
[/code]
applicationContext.xml
[code="java"]
<?xml version="1.0" encoding="UTF-8"?>
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>
<bean id="userDAO" class="cn.iomo.dao.UserDAO"></bean>
<bean id="userDAOImpl" class="cn.iomo.dao.impl.UserDAOImpl" parent="userDAO">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean name="/user" class="cn.iomo.struts.action.UserAction">
<property name="userDAO">
<ref local="userDAO"/>
</property>
</bean>
[/code]
[b]问题补充:[/b]
<%@ 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"%>
JSP for UserForm form
用户注册
Username :
Password :
Sex : /html:radio
/html:radio
Email :
/html:form
当我点击SUBMIT的时候直接跳转到404窗口。应该是没有触发action,请问问题是出现在什么地方?
[b]问题补充:[/b]
还有什么地方可以进行改进,优化的。
[b]问题补充:[/b]
/*
- 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"); } } } [b]问题补充:[/b] struts配置文件里 这不对,改成
type="org.springframework.web.struts.DelegatingActionProxy">
已经改过了,不行