0 0

SSH搭建好了之后开始测试Struts的Action 转到自己写的404页面5

按照李刚的struts讲义写的action 功能是输入用户名密码之后跳转到另外的jsp页面.但是每次都出来404页面.请问是哪边配置有问题? 如果另外ssh框架也没建好还请指正.以下是代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">



  <display-name>Archetype Created Web Application</display-name>
  
  
  
   <!-- 以下3项参数与log4j的配置相关 -->
	
    	<listener>
		<listener-class>
			org.springframework.web.util.Log4jConfigListener
		</listener-class>
	</listener>
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>/WEB-INF/log4j.properties</param-value>
	</context-param>
	
	<context-param>
		<param-name>log4jRefreshInterval</param-name>
		<param-value>60000</param-value>
	</context-param>
  <!-- 默认情况下,会加载WEB-INF/applicationContext.xml这个文件,我们可以通过配置
  contextConfigLocation参数改变配置文件的路径 -->
  <!-- Spring ApplicationContext配置文件的路径,可使用通配符,多个路径用,号分隔 此参数用于后面的Spring-Context 
		loader -->
		<!-- 使容器启动时,自动加载applicationContext配置,因为它实现了ServletContextListener这个接口,容器启动时会自动执行它实现的方法。 -->
    <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
   <context-param>
    <param-name>contextConfigLocation</param-name>
   <param-value>classpath:*/ApplicationContext.xml,*/action-Servlet.xml</param-value>
</context-param>    
        <!-- 加载spring容器 -->

<!-- 整合struts 加入中心拦截器 -->
<filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
        <init-param>
        <param-name>struts.action.extendion</param-name>
        <param-value>action</param-value>
        </init-param>
    </filter>
    <!--  
<filter>
<filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>-->
    
    
    

<!-- Struts -->
<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.xml</param-value></init-param>
<load-on-startup>2</load-on-startup>
</servlet>



    

    
  



  
  <!-- session超时定义,单位为分钟 -->
	<session-config>
		<session-timeout>120</session-timeout>
	</session-config>
	<!-- 默认首页定义 -->
	<welcome-file-list>
		
		<welcome-file>login2.jsp</welcome-file>
	</welcome-file-list>

	<!-- Error Page定义 -->
	<error-page>  
    	<exception-type>java.lang.Throwable</exception-type>  
    	<location>/commons/error.jsp</location>  
	</error-page>  
	<error-page>
		<error-code>500</error-code>
		<location>/commons/error.jsp</location>
	</error-page>
	<error-page>
		<error-code>404</error-code>
		<location>/commons/404.jsp</location>
	</error-page>
	<error-page>
		<error-code>403</error-code>
		<location>/commons/403.jsp</location>
	</error-page>
  
</web-app>
  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<constant name="struts.devMode" value="true"/>
    <constant name="struts.objectFactory" value="spring" ></constant>

	<package name="calvin" extends="struts-default">
     <action name="login" class="/loginAction">
          <result name="error">index.jsp</result>
          <result name="success">/pages/index.jsp</result>
     </action>
</package>
	



 


    </struts>
  
<?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-3.0.xsd">
        

        
        <!-- Spring容器配置文件 -->
        <!-- 告诉spring hibernate文件的位置 然后加载 -->
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/policemanagement?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8"/>
        <property name="username" value="root"/>
        <property name="password" value="rooot"/>
        <property name="maxActive" value="100"/>
        <property name="maxIdle" value="30"/>
        <property name="maxWait" value="1000"/>
        <property name="defaultAutoCommit" value="true"/>
        <property name="removeAbandoned" value="true"/>
        <property name="removeAbandonedTimeout" value="60"/>
        <property name="logAbandoned" value="true"/>
        </bean>
        <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mappingResources" >
        <list>
        <value>calvin/po/pojo/hbm/arrestedPerson.hbm.xml</value>
         <value>calvin/po/pojo/hbm/caseRegisted.hbm.xml</value>
          <value>calvin/po/pojo/hbm/caseThread.hbm.xml</value>
           <value>calvin/po/pojo/hbm/caseVictim.hbm.xml</value>
            <value>calvin/po/pojo/hbm/policeOfficer.hbm.xml</value>
             <value>calvin/po/pojo/hbm/victimOffice.hbm.xml</value>         
        </list>
        </property>
        <property name="hibernateProperties">
        <props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        <prop key="hbm2ddl.auto">create</prop>  
        </props>
        </property>
        
        </bean>
        

        <!-- 为hibernte配置事务管理器 -->
        <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
        </bean> 
        
        
        
        <!-- daoContext 配置原因 所以放在这边 -->
        <bean id="dao" class="calvin.dao.imp.BaseDAOHibernate">
        <property name="sessionFactory" ref="sessionFactory" /></bean>
        
    <bean id="policeOfficerDAO" class="calvin.dao.imp.PoliceOfficerImp">
    <property name="sessionFactory" ref="sessionFactory" /></bean>
    
    <bean id="arrestedPersonDAO" class="calvin.dao.imp.ArrestedPersonImp">
    <property name="sessionFactory" ref="sessionFactory" /></bean>
    
	<bean id="caseRegisteredDAO" class="calvin.dao.imp.CaseRegisteredImp">
	<property name="sessionFactory" ref="sessionFactory" /></bean>
	
	<bean id="caseThreadDAO" class="calvin.dao.imp.CaseThreadImp">
	<property name="sessionFactory" ref="sessionFactory" /></bean>
	
	<bean id="caseVictimDAO" class="calvin.dao.imp.CaseVictimImp">
	<property name="sessionFactory" ref="sessionFactory" /></bean>
	
        <bean id="victimOfficeDAO" class="calvin.dao.imp.VictimOfficeImp">
        <property name="sessionFactory" ref="sessionFactory" /></bean>
        
    <!-- ENd -->    
        
        <!-- IOC 注入机制 -->

        <!-- 	定义事务模板类  -->
        <bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <!-- 注入事务管理器 -->
        <property name="transactionManager" ref="transactionManager"/>
        <property name="transactionAttributes">
        <props>
        <prop key="save*">PROPAGATION_REQUIRED</prop>
        <prop key="remove*">PROPAGATION_REQUIRED</prop>
        <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
        </props>
        </property></bean>
        
        <!-- 配置具体业务逻辑层组件的事物代理 -->
        <bean id="manager" parent="txProxyTemplate">
        <property name="target">
        <bean class="calvin.service.BaseManager">
        <property name="dao" ref="dao"/>
        </bean>
        </property>
        </bean>
        
        <!-- 配置具体的业务逻辑组件额事务代理 -->
        <!--   配置业务逻辑组件的事务代理,使用了bean 的继承 --> 
        <!-- 配置所需要的dao组件!!!即这里用的是dao的名字 -->
        <bean id="facadeManager" parent="txProxyTemplate">
        <!-- 配置事务代理时,指定代理的目标,此处的目标是嵌套bean--> 
        <property name="target">
        <!--  嵌套bean无须使用 id属性-->
        <bean class="calvin.service.imp.FacadeManagerImp">
        <!-- 为业务逻辑组件注入DAO组件 -->
        <property name="victimOfficeDAO" ref="victimOfficeDAO"/>
        <property name="policeOfficerDAO" ref="policeOfficerDAO"/>
        <property name="caseVictimDAO" ref="caseVictimDAO"/>
        <property name="caseThreadDAO" ref="caseThreadDAO"/>
        <property name="caseRegisteredDAO" ref="caseRegisteredDAO"/>
        <property name="arrestedPersonDAO" ref="arrestedPersonDAO"/>
        </bean></property>
        </bean>
        <!-- action -->
        <bean id="myService" class="calvin.action.test.MyServiceImp"/>
        
        <bean name="/loginAction" class="calvin.action.LoginAction" scope="prototype">
    	<property name="ms" ref="myService"/>
    	</bean>
    
        
        
        

    
</beans>
  
package calvin.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.junit.Test;

import calvin.action.baseAction.BaseAction;
import calvin.action.test.MyService;
import calvin.po.pojo.PoliceOfficer;

public class LoginAction extends BaseAction{
	private String username;
	private String password;
	private MyService ms;
	
	
	public MyService getMs() {
		return ms;
	}


	public void setMs(MyService ms) {
		this.ms = ms;
	}


	public String getUsername() {
		return username;
	}


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


	public String getPassword() {
		return password;
	}


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


	@Override

	public String execute() throws Exception{
		System.out.println("AAA");
		if(ms.valid(getUsername(),getPassword())){
			return new String("success");
			}else{
				return "error";}
		}
	

}
 
package calvin.action.test;

public class MyServiceImp implements MyService{
	public boolean valid(String username,String pass){
		return true;
	}

} 
     首页配置就是一个很简单的登陆页面.
2014年10月19日 22:37

2个答案 按时间排序 按投票排序

0 0

采纳的答案

把项目上传看看!!!

2014年10月20日 18:47
0 0

首页配置就是一个很简单的登陆页面.

2014年10月24日 22:53

相关推荐

    用Gradle搭建的Struts 2.5.14.1项目

    项目搭建起来,这是第一个项目,本项目包含三个压缩文件,(1)可以直接部署的war包,(2)用Gradle搭建的Struts 2.5.14.1项目,直接用gradl tomcatRun运行即可,(3)Struts2.5.14.1环境运行所需要的包。...

    SSH框架搭建成功例子(注解方式,Struts2自身创建Action)

    做这个东西居然花了不少时间...【特别强调】一定要清楚如何调试项目,因为自己的环境和下载的资源的环境可能不一样,需要修改配置文件或是其他才能正常运行。https://blog.csdn.net/smileyan9/article/details/80522536

    ssh框架搭建实例源码4

    本资源所需的jar包请到“ssh框架搭建实例源码2”和“ssh框架搭建实例源码”中下载: http://download.csdn.net/detail/linchengzhi/4100204 http://download.csdn.net/download/linchengzhi/4076267 相关链接: ...

    ssh框架搭建实例源码5

    本资源是在“ssh框架搭建实例源码4”基础上进行较好的测试和修改;进行部分代码注释;成功移植到ssm(strut2、spring、mybatis)实现了“hibernate和mybatis的之CRUD封装比较”...

    struts2.4+spring3.1+hibernate4.1的SSH框架

     系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action...

    SSH 项目框架搭建总结

    建立Web工程 * 导入需要的jar包 db:连接数据库的驱动包 hibernate:使用hibernate的jar包 jstl:java的标准标签库 junit:测试用到的jar包 spring:使用spring的jar包 ... struts.xml:struts2的配置文件

    ssh三大框架搭建的项目源码

    这是用Struts2+Hibernate+Spring这三大框架来搭建的项目,有普通Aciton,也有Json的Action,这是搭建的ssh地基

    ssh2(struts2+spring2.5+hibernate3.3)自动生成模版

    ctrl+,就算是ctrl+c,ctrl+v也需要花大量的时间做些无意义的代码编写,这样降低了开发效率,同时好多开发人员对ssh也产生了抵触,认为自己一天到晚都在写些没有用的代码,自己感到很沮丧! 本程序的来源 jsmart ...

    SSH框架封装源码

    这个项目是基于SSH框架(Spring+hibernate+struts2)框架来实现搭建的,具体搭建说明可以参考我的博客 里面做了详细的说明 当然里面也包含其他功能需要用到的jar包,对配置以及实体配置都有注释说明,非常清晰,相信...

    SSH整合案例-商品管理.rar

    1. 公共类搭建 1.1 po对象及其映射 1.2util包工具类 2. 页面文件(jsp,js,css)组织 3. 总体实现步骤 3.1.创建dao接口 3.2.创建dao接口实现类,主要是通过Hibernate实现数据访问 3.3.创建Service接口,编写业务...

    SSH增删改查实例

    架子,写实体类,写dao层,实现dao层, 如果是struts2就要有action, 配置struts.xml实现跳转。 配置hibernate,和hbm与数据库映射, 将spring搭建好, 管理struts和hibernate。管理事务。

    低清版 大型门户网站是这样炼成的.pdf

    2.3.2 struts 2应用基本开发步骤—搭建eportal应用 69 2.3.3 struts 2中集成fckeditor 80 2.3.4 struts 2中集成displaytag 83 2.4 struts 2国际化实现 85 2.4.1 web应用的中文本地化 85 2.4.2 struts 2应用的...

    ssh2demolala

    ssh框架搭建实例; charset=utf-8" pageEncoding="utf-8"%&gt; &lt;%@taglib uri="/struts-tags" prefix="s"%&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; ; charset=utf-8"&gt; &lt;title&gt;&lt;/title&gt; ...

    Java Web应用详解.张丽(带详细书签).pdf

    系统框架篇则是以架构设计的高度,讲解搭建网站的三大框架Struts、Hibernate、Sprin9及标签库。项目实战篇详细阐述了通用论坛BBS、社交网站、DIY商品电子交易平台3个系统的开发细节,使读者真正掌握JavaWeb开发的...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    2.3.1 从输入页面开始 60 2.3.2 开发托管Bean 61 2.3.3 定义导航规则 63 2.4 解读JSF配置 65 2.4.1 配置核心控制器(FacesServlet) 65 2.4.2 JSF配置文件结构 68 2.5 托管Bean和表达式语言 69 2.5.1 托管Bean的属性和...

    spring学习笔记

    .......................................................................................................................9 1.3.5 创建测试类:.................................................................

Global site tag (gtag.js) - Google Analytics