GeeCON Prague 2014*
The moose likes Struts and the fly likes struts app cannot run under Tomcat5 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Frameworks » Struts
Bookmark "struts app cannot run under Tomcat5" Watch "struts app cannot run under Tomcat5" New topic
Author

struts app cannot run under Tomcat5

Kero Gu
Greenhorn

Joined: Jul 30, 2002
Posts: 15
I have an application running well under Tomcat4.
But it doesn't work under Tomcat5.
When I call my .do action, system tells me that:
---------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:561)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:300)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
jcc.school.meiya.utils.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:95)

root cause
java.lang.IllegalArgumentException: -103
org.apache.jasper.compiler.SmapStratum$LineInfo.setOutputLineIncrement(SmapStratum.java:124)
org.apache.jasper.compiler.SmapStratum.optimizeLineSection(SmapStratum.java:221)
org.apache.jasper.compiler.SmapUtil.evaluateNodes(SmapUtil.java:490)
org.apache.jasper.compiler.SmapUtil.generateSmap(SmapUtil.java:123)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:301)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:453)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:300)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
jcc.school.meiya.utils.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:95)

note The full stack trace of the root cause is available in the Tomcat logs.
----------------------------------------------------------------------
any advice to solve the problem??
thank you very much.
Kero Gu
Greenhorn

Joined: Jul 30, 2002
Posts: 15
Here is part of my web.xml content.
If I subsitute ActionServlet with my testing HelloServlet, Tomcat5 can execute HelloServlet.do and echos "Hello World" on the controll panel.
But ActionServlet cannot work.
help~~~~
-------------------------------------------------------------------------

<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-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>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
 
GeeCON Prague 2014
 
subject: struts app cannot run under Tomcat5