Forums Register Login

Problems with jsp page and maybe tomcat server

+Pie Number of slices to send: Send
I am having an issue with a program that a programmer wrote 2 years ago. He has left the company and of course didn't comment the code. We are all newbies where java is concerned. The initial program is written in SAS but it uses jsp files as it is on a webpage. I have looked at this code and I don't see anything wrong with it but since I am new to this I wanted to get an educated opinion. This application has not been automated but it continues to give an error every 5 mins like clockwork :) SAS says it is affecting other programs but we thin that is like Microsoft telling everyone to restart their computer. I would appreciate your opinions as to whether this jsp code has an error and I will definitely appreciate the knowledge learned. I am just pasting the script the rest is html. I can post that also if you think it will help. There is also a piece of the log below this code from the server.



I am also pasting a 5 min section of the server log showing the error. This code just keeps repeating.

2013-09-12 00:01:09,702 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/SASStoredProcess].[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.StringIndexOutOfBoundsException: String index out of range: -122
at java.lang.String.checkBounds(String.java:399)
at java.lang.String.<init>(String.java:569)
at org.apache.jsp.input.Apps.IAMS_005fMICRO.SITEGENERAL.PROD.iamsmicro_jsp._jspService(iamsmicro_jsp.java:94)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at com.sas.services.storedprocess.webapp.Misc.forward(Misc.java:480)
at com.sas.services.storedprocess.webapp.StoredProcessServlet.doRequest(StoredProcessServlet.java:1313)
at com.sas.services.storedprocess.webapp.StoredProcessServlet.doGet(StoredProcessServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sas.svcs.webapp.servlet.filters.ThemeSupportFilter.onDoFilter(ThemeSupportFilter.java:177)
at com.sas.framework.webapp.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:66)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sas.svcs.webapp.servlet.filters.PlatformServicesFilter.onDoFilter(PlatformServicesFilter.java:148)
at com.sas.framework.webapp.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:66)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sas.svcs.webapp.servlet.filters.SecurityFilter.onDoFilter(SecurityFilter.java:212)
at com.sas.framework.webapp.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:66)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sas.services.storedprocess.webapp.SPFilter.onDoFilter(SPFilter.java:228)
at com.sas.framework.webapp.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sas.servlet.filters.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sas.framework.webapp.servlet.SanitizingRequestFilter.onDoFilter(SanitizingRequestFilter.java:83)
at com.sas.framework.webapp.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:66)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:662)
2013-09-12 00:06:10,666 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/SASStoredProcess].[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.StringIndexOutOfBoundsException: String index out of range: -122
+Pie Number of slices to send: Send
Why is this code in a JSP?

In fact, if it is authentication code that needs to execute before multiple pages, why is it not in a filter?

Yes, I understand that you have been saddled with someones else's sub-standard code. Is there no opportunity for refactoring?
+Pie Number of slices to send: Send
I agree Bear it does look much better. I fix that next time. Yes, I can and will adjust the code when I figure out what it's problem is :) The code is connected to a very important application so we need to make sure it doesn't get any more broken than it already is. So, we will be fixing it.
+Pie Number of slices to send: Send
I expect that at some point your code is expecting that a byte value will always be positive, whereas bytes in Java are between -128 and 127. This code was probably adapted from some language which supports unsigned bytes. So I would suggest making the bytes unsigned before using them. If I'm not mistaken you do "& 0xFF" to the byte value, which results in a positive int value.
Hoo hoo hoo! Looks like we got a live one! Here, wave this tiny ad at it:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1247 times.
Similar Threads
validation problem
JSF,Spring MVC, Hibernate Integration exception
NullPointerException on Liferay
Exception in PhaseListener RESTORE_VIEW 1 afterPhase
org.springframework.beans.factory.NoSuchBeanDefinitionException No bean named
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 01:34:36.