调整SSH2后找不到action,求高人指点!
整合SSH2后找不到action,求高人指点!!!
报错信息:
HTTP Status 404 - /BetTLD/userRegAction
--------------------------------------------------------------------------------
type Status report
message /BetTLD/userRegAction
description The requested resource (/BetTLD/userRegAction) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/6.0.13
Register.jsp代码
web.xml代码
applicationContext.xml代码
struts.xml代码
RegisterAction.java代码
还需要贴出什么代码请说明,搞了一天了,求大神解答!!!
myeclipse-10.7.1
------解决思路----------------------
一般都是路径错误,你可以审查元素看下请求的路径对不对。
------解决思路----------------------
<form name="registerForm" action="userRegAction">
改成
<form name="registerForm" action="userRegAction.action">
试试
------解决思路----------------------
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
换成
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
试试
------解决思路----------------------
这里用的是userRegAction
而这里配置的action名字的是
而这里过滤的是:
综上所诉
你的JSP里面应该是
action="userReg.action"
而不是action="userRegAction"
你的userRegAction 只是你定义的一个bean,这个bean只是struts.xml里面要映射的class而已。
报错信息:
HTTP Status 404 - /BetTLD/userRegAction
--------------------------------------------------------------------------------
type Status report
message /BetTLD/userRegAction
description The requested resource (/BetTLD/userRegAction) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/6.0.13
Register.jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User Register Page</title>
</head>
<body>
<form name="registerForm" action="userRegAction">
<input type="text" name="userName"><br>
<input type="password" name="password"><br>
<input type="submit" name="submit" value="注册">
</form>
</body>
</html>
web.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<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>*.action</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.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/project">
</property>
<property name="username" value="root"></property>
<property name="password" value="minolta"></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>
<property name="mappingResources">
<list>
<value>com/mars/betTLD/beans/User.hbm.xml</value></list>
</property>
</bean>
<bean id="UserDAO" class="com.mars.betTLD.beans.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="userRegAction" class="com.mars.betTLD.action.RegisterAction">
<property name="userDao">
<ref bean="UserDAO" />
</property>
</bean>
</beans>
struts.xml代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="userReg" class="userRegAction">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
RegisterAction.java代码
package com.mars.betTLD.action;
import com.mars.betTLD.beans.User;
import com.mars.betTLD.beans.UserDAO;
import com.opensymphony.xwork2.Action;
import org.apache.struts2.ServletActionContext;
import java.util.ArrayList;
import java.util.List;
public class RegisterAction implements Action {
private UserDAO userDao;
List<User> userList;
@SuppressWarnings("unchecked")
public String execute() throws Exception {
String name = ServletActionContext.getRequest()
.getParameter("userName");
String password = ServletActionContext.getRequest().getParameter(
"password");
Integer gender = 1;
System.out.println(name + "\t" + password);
User user = new User(name, password, gender);
userDao.save(user);
userList = new ArrayList<User>();
userList = userDao.findAll();
return SUCCESS;
}
public UserDAO getUserDao() {
return userDao;
}
public void setUserDao(UserDAO userDao) {
this.userDao = userDao;
}
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
}
还需要贴出什么代码请说明,搞了一天了,求大神解答!!!
myeclipse-10.7.1
------解决思路----------------------
一般都是路径错误,你可以审查元素看下请求的路径对不对。
------解决思路----------------------
<form name="registerForm" action="userRegAction">
改成
<form name="registerForm" action="userRegAction.action">
试试
------解决思路----------------------
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
换成
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
试试
------解决思路----------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User Register Page</title>
</head>
<body>
<form name="registerForm" action="userRegAction">
<input type="text" name="userName"><br>
<input type="password" name="password"><br>
<input type="submit" name="submit" value="注册">
</form>
</body>
</html>
这里用的是userRegAction
而这里配置的action名字的是
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="userReg" class="userRegAction">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
而这里过滤的是:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<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>*.action</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
综上所诉
你的JSP里面应该是
action="userReg.action"
而不是action="userRegAction"
你的userRegAction 只是你定义的一个bean,这个bean只是struts.xml里面要映射的class而已。