web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>action </servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet </servlet-class>
<!-- <context-param>
<param-name>contextConfigLocation </param-name>
<param-value>/WEB-INF/classes/applicationContext.xml" </param-value>
</context-param>
-->
<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>
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>
<form-beans >
<form-bean name="userForm" type="org.tie.struts.form.UserForm" />
</form-beans>
<action-mappings >
<action path="/user"
type="org.springframework.web.struts.DelegatingActionProxy"
name="userForm">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/index.jsp" />
</action><!-- type="org.springframework.web.struts.DelegatingActionProxy"-->
</action-mappings>
<message-resources parameter="org.tie.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>
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="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/tie"> </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"> </ref>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/tie/vo/User.hbm.xml </value>
</list>
</property> </bean>
<bean id="userDAO" class="org.tie.dao.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"> </ref>
</property>
</bean>
<bean id="userService" class="org.tie.service.UserService"
abstract="false" singleton="false" lazy-init="default"
autowire="default" dependency-check="default">
<property name="userDAO">
<ref local="userDAO"> </ref>
</property>
</bean>
<bean name="/user" singleton="false" class="org.tie.struts.action.UserAction"
abstract="false" lazy-init="default"
autowire="default" dependency-check="default">
<property name="userService">
<ref local="userService"> </ref>
</property>
</bean>
</beans>
UserService.java
package org.tie.service;import org.tie.dao.UserDAO;
import org.tie.vo.User;public class UserService {
private UserDAO userDAO;public User regist(User user){
userDAO.save(user);
return user;
}
public UserDAO getUserDAO() {
return userDAO;
}public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
}
UserAction.java
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package org.tie.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.tie.service.UserService;
import org.tie.struts.form.UserForm;
import org.tie.vo.User;/**
* MyEclipse Struts
* Creation date: 05-06-2008
*
* XDoclet definition:
* @struts.action path="/user" name="userForm" input="/index.jsp" scope="request" validate="true"
*/
public class UserAction extends Action {
/*
* Generated Methods
*//**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
private UserService userService;public UserService getUserService() {
return userService;
}public void setUserService(UserService userService) {
this.userService = userService;
}
public ActionForward execute(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());
System.out.println("//////////////////////////////////"+user);
user.setPassword(userForm.getPassword());
user.setEmail(userForm.getEmail());
userService.regist(user);
return mapping.findForward("success");
}
}
index.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for UserForm form </title>
</head>
<body>
<html:form action="/user">
username : <html:text property="username"/> <html:errors property="username"/> <br/>
password : <html:password property="password"/> <html:errors property="password"/> <br/>
email : <html:text property="email"/> <html:errors property="email"/> <br/>
<html:submit/> <html:cancel/>
</html:form>
</body>
</html>
运行的时候出现
HTTP Status 404 - Servlet action is not available--------------------------------------------------------------------------------type Status reportmessage Servlet action is not availabledescription The requested resource (Servlet action is not available) is not available.
--------------------------------------------------------------------------------Apache Tomcat/5.5.25
错误
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>action </servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet </servlet-class>
<!-- <context-param>
<param-name>contextConfigLocation </param-name>
<param-value>/WEB-INF/classes/applicationContext.xml" </param-value>
</context-param>
-->
<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>
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>
<form-beans >
<form-bean name="userForm" type="org.tie.struts.form.UserForm" />
</form-beans>
<action-mappings >
<action path="/user"
type="org.springframework.web.struts.DelegatingActionProxy"
name="userForm">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/index.jsp" />
</action><!-- type="org.springframework.web.struts.DelegatingActionProxy"-->
</action-mappings>
<message-resources parameter="org.tie.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>
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="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/tie"> </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"> </ref>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/tie/vo/User.hbm.xml </value>
</list>
</property> </bean>
<bean id="userDAO" class="org.tie.dao.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"> </ref>
</property>
</bean>
<bean id="userService" class="org.tie.service.UserService"
abstract="false" singleton="false" lazy-init="default"
autowire="default" dependency-check="default">
<property name="userDAO">
<ref local="userDAO"> </ref>
</property>
</bean>
<bean name="/user" singleton="false" class="org.tie.struts.action.UserAction"
abstract="false" lazy-init="default"
autowire="default" dependency-check="default">
<property name="userService">
<ref local="userService"> </ref>
</property>
</bean>
</beans>
UserService.java
package org.tie.service;import org.tie.dao.UserDAO;
import org.tie.vo.User;public class UserService {
private UserDAO userDAO;public User regist(User user){
userDAO.save(user);
return user;
}
public UserDAO getUserDAO() {
return userDAO;
}public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
}
UserAction.java
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package org.tie.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.tie.service.UserService;
import org.tie.struts.form.UserForm;
import org.tie.vo.User;/**
* MyEclipse Struts
* Creation date: 05-06-2008
*
* XDoclet definition:
* @struts.action path="/user" name="userForm" input="/index.jsp" scope="request" validate="true"
*/
public class UserAction extends Action {
/*
* Generated Methods
*//**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
private UserService userService;public UserService getUserService() {
return userService;
}public void setUserService(UserService userService) {
this.userService = userService;
}
public ActionForward execute(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());
System.out.println("//////////////////////////////////"+user);
user.setPassword(userForm.getPassword());
user.setEmail(userForm.getEmail());
userService.regist(user);
return mapping.findForward("success");
}
}
index.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for UserForm form </title>
</head>
<body>
<html:form action="/user">
username : <html:text property="username"/> <html:errors property="username"/> <br/>
password : <html:password property="password"/> <html:errors property="password"/> <br/>
email : <html:text property="email"/> <html:errors property="email"/> <br/>
<html:submit/> <html:cancel/>
</html:form>
</body>
</html>
运行的时候出现
HTTP Status 404 - Servlet action is not available--------------------------------------------------------------------------------type Status reportmessage Servlet action is not availabledescription The requested resource (Servlet action is not available) is not available.
--------------------------------------------------------------------------------Apache Tomcat/5.5.25
错误
解决方案 »
- mysql语句老出问题,高手帮我看下啊,谢谢!
- [求助]quartz框架Scheduler的Job调度的类中可以使用session吗?
- 请问如何用JAVA代码清除SSL状态?
- ibm面试题求救大侠
- 学spring的的时候遇到与ActionEvent类的问题,请帮我看看.
- junit如何通过jndi访问datasource的connection
- 一个eclipse与hibernate的菜鸟问题(急)!
- 送分!!请教Struts高手!!!!!!!!
- hibernate用like查询汉字的问题
- 这样用rose产生java代码????
- 寻找深圳科技园附近的兼职人员
- java基础学完了 怎么高效学习j2ee?
也没用呀弄了两天了,是照着一个视频做的
但是struts-config.xml配置文件里写的type="org.springframework.web.struts.DelegatingActionProxy"
名字不对,肯定找不到action类啊
type的值应该是
type="org.tie.struts.action.UserAction"是你的action类的地址
最好写成这样!
abstract="false" lazy-init="default"
autowire="default" dependency-check="default"> 红色的地方错了吧
<action path="/user"
type="org.springframework.web.struts.DelegatingActionProxy"
name="userForm">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/index.jsp" />
</action>
改成你对应的useraction页面访问user.do
<action path="/user"
type="org.springframework.web.struts.DelegatingActionProxy"
name="userForm">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/index.jsp" />
</action>
改为:
<action-mappings >
<action path="/user"
type="org.tie.struts.action.UserAction"
name="userForm">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/index.jsp" />
</action>
abstract="false" lazy-init="default"
autowire="default" dependency-check="default"> 应该是你的spring 配置问题。
<action path="/user"
type="org.springframework.web.struts.DelegatingActionProxy"
name="userForm">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/index.jsp" />
</action>
改为:
<action-mappings >
<action path="/user"
type="org.tie.struts.action.UserAction"
name="userForm">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/index.jsp" />
</action>
这样改不对哇 struts+spring整合 就是要将type="org.tie.struts.action.UserAction" 改成type="org.springframework.web.struts.DelegatingActionProxy"
<bean name="/user" class="org.tie.struts.action.UserAction">
</bean>
有的呀