`

ssi架构下使用struts2的标签的一个小问题

 
阅读更多


 1 首先说一下web.xml中struts2的Filter配置如下

	
   <filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
			<!-- org.apache.struts2.dispatcher.FilterDispatcher-->
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>



    根目录下index.jsp代码如下

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
  </head>
  
  <%
  String str = "测试文本";
  request.setAttribute("cc",str);
  %>
  
  <body>
    This is my JSP page. <br>
     <form action="login.action">
    	username:<input type="text" name="userDto.username" value="" /><br>
    	password:<input type="text" name="userDto.password" value="" /><br>
    	<input type="submit" name="" value="submit" />
    	
    	<s:property value="cc" />
    </form>
  </body>
</html>


直接请求/index.jsp后发现浏览器报错如下

HTTP Status 500 - The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]

 


 

type Exception report

 

message The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]

 

description The server encountered an internal error that prevented it from fulfilling this request.

 

exception

org.apache.jasper.JasperException: The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	com.jshand.sysframework.filter.SessionFilter.doFilter(SessionFilter.java:58)

 

 

 

root cause

The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
	org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60)
	org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44)
	org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48)
	org.apache.jsp.index_jsp._jspx_meth_s_005fproperty_005f0(index_jsp.java:133)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:104)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	com.jshand.sysframework.filter.SessionFilter.doFilter(SessionFilter.java:58)

 

 

 

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.36 logs.

 


 

Apache Tomcat/6.0.36

 

 

经分析后发现 如果使用strus2标签,则需要在使用之前当前请求要经过Struts2的核心处理,即Struts2的核心控制类,而我在web.xml中配置Struts2过滤器只配置了<url-pattern>*.action</url-pattern>仅处理了后缀名为action的请求,而直接访问jsp是不会处理的, 顾将此处改成<url-pattern>/*</url-pattern>后问题解决

  • 大小: 9.9 KB
分享到:
评论

相关推荐

    ssi.rar_ibatis_ibatis struts2_java ssi_myeclipse ssi_struts2

    标题中的"ssi.rar_ibatis_ibatis_struts2_java ssi_myeclipse ssi_struts2"揭示了这个压缩包文件包含的内容,主要涉及到SSI(Server Side Include)技术、MyEclipse开发环境、以及三大框架——Struts2、Spring和...

    SSI框架集成实例(struts2,spring,ibats)

    SSI框架,即Struts2、Spring和iBatis的集成,是Java开发中常见的Web应用程序架构。这个实例项目展示了如何将这三个组件有效地整合在一起,构建一个功能完善的MVC(Model-View-Controller)应用程序。在数据库层,...

    struts+spring+ibatis(SSI)的最简分页及标签

    总结起来,"struts+spring+ibatis(SSI)的最简分页及标签"是一个关于如何在Java Web开发中结合Struts的MVC架构、Spring的依赖管理和iBatis的数据访问来实现分页功能以及创建自定义标签的实践。这个过程涉及到Struts的...

    SSI框架 spring Struts ibatis

    **SSI框架:Spring、Struts和iBatis的...总结而言,这个项目是一个理想的起点,它演示了如何结合使用Spring、Struts和iBatis来构建一个完整的Web应用。对于想要提升Java Web开发技能的人来说,这是一个宝贵的实践机会。

    Struts2+Spring2+iBatis2整合的例子

    **Struts2** 是一个强大的MVC框架,它在Struts1的基础上进行了很多改进,提供了更灵活的控制流程和丰富的插件支持。在Struts2中,Action类是业务逻辑的核心,通过配置ActionMapping来指定请求与Action之间的映射关系...

    ssi 集成项目 适用于新手

    综上所述,这个"ssi集成项目"是一个很好的学习资源,涵盖了Spring、Struts2和iBatis三大框架的综合运用,对于初学者而言,不仅可以帮助他们快速上手这些技术,还能通过实践提升解决问题的能力。

    SSI框架实现增删改查(spring2.5 + struts2.1 + ibatis2.3)

    SSI框架,即Spring、Struts和iBatis的集成框架,是Web开发中常见的技术栈,用于构建高效、可维护的MVC架构应用。在这个项目中,使用的是Spring 2.5、Struts 2.1和iBatis 2.3版本,这些组件在2000年代末到2010年代初...

    ssi完整项目

    描述中提到的"SSI框架下的完整项目"是一个教学资源,其中可能包含了从基础到进阶的多个示例,涵盖如何设置SSI、如何编写和插入服务器端脚本、如何与其他技术(如数据库、服务器端脚本语言)结合使用等。这样的项目...

    ssi整合开发包括分页

    在IT行业中,SSI(Struts2、Spring、iBatis)整合开发是一种常见的Web应用程序架构模式,它将三个强大的框架结合在一起,以实现高效的MVC(Model-View-Controller)设计模式。本教程将以"ssi整合开发包括分页"为例,...

    ssi框架的整合总结

    本文将深入探讨SSI(Struts2-Spring-iBatis)框架的整合,这是基于MVC模式的一个高级框架组合,旨在简化企业级应用的开发过程。 #### Struts2:灵活的MVC实现 Struts2是Struts框架的升级版,继承了Struts1的优点并...

    ssi结合代码备份

    标签“源码”和“工具”提示我们这篇博文可能涵盖了如何使用特定工具处理源代码,可能是关于如何配置服务器设置以支持SSI,或者是介绍了一款能够集成SSI功能的代码管理工具。这样的工具可能有助于开发团队更好地协同...

    基于maven的简单的ssi项目

    2. **Struts框架**:Struts是MVC(Model-View-Controller)架构的一个实现,主要用于Web应用的开发。它处理用户请求,调用相应的控制器,然后由控制器驱动模型进行业务处理,最后更新视图。在这个项目中,Struts可能...

    struts2+spring2.5+ibatis

    Struts2、Spring2.5和iBatis是经典的Java Web开发框架组合,它们共同构建了一个灵活、高效的企业级应用程序架构。在这个组合中,Struts2作为MVC(Model-View-Controller)框架负责处理用户请求,Spring2.5则提供依赖...

    liferay + struts2 + spring + ibatis 修改版

    【标签】"liferay struts2 spring ibatis"这些标签突出了项目的开发框架和技术栈,方便其他开发者快速识别项目的核心技术和潜在问题,从而进行协作或者参考。 【SSI-portlet】这个压缩包中的"SSI-portlet"可能是...

    SSI+ORACL(源码)

    总结这些信息,我们可以知道这是一个使用Spring、Struts2和iBatis的Java Web项目,它连接Oracle数据库并实现了数据分页功能,分页结果以JSON格式返回给前端。学习和理解这部分源码,可以帮助开发者深入理解如何在...

    ssi 整合案例

    然而,根据提供的标题和描述,这里的"ssi"可能是指一个特定的整合项目,即Struts、Spring和iBATIS的集成应用。这是一个常见的Java Web开发框架组合,用于构建高效、灵活的企业级应用程序。 **Struts** 是一个基于...

    ssi框架学习个人小结

    SSI框架是一种常见的Web应用开发框架,主要由Struts2、Spring和iBatis三个组件构成,它们分别承担着不同的职责: - **Struts2**:负责处理请求和响应,提供丰富的标签库支持前端页面的数据展示与表单验证等功能。 -...

    struts+spring+ibatis配置

    Struts、Spring 和 iBatis 是三个非常重要的 Java Web 开发框架,它们组合在一起形成了一个强大的应用程序开发架构,通常被称为 SSI(Struts + Spring + iBatis)。这个Web项目利用了这些框架的优势,实现了MVC...

    ssi js 计时 定时置灰

    标题中的"ssi js 计时 定时置灰"指的是在Web开发中,使用SSI(Server Side Includes)和JavaScript技术实现的一种交互效果。SSI通常用于动态网页,它允许在HTML页面中嵌入服务器端的脚本,使得网页可以包含动态生成...

Global site tag (gtag.js) - Google Analytics