java - JSP on Tomcat is displaying as source, not processed as JSP -
note: not duplicate of this question. question pointed using @restcontroller, , problem solved switching @controller. using @controller , org.springframework.web.servlet.view.internalresourceviewresolver
porting web app websphere tomcat. following in mvc-config.xml file:
<mvc:view-controller path="/" view-name="redirect:/dashboard"/> <mvc:view-controller path="/login" view-name="login"/> <mvc:view-controller path="/**.html" view-name="login"/> <!-- resolves view names protected .jsp resources within /web-inf/views directory --> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="prefix" value="/web-inf/views/"/> <property name="suffix" value=".jsp"/> </bean>
when launch app tomcat, following test displayed (which text of /web-inf/views/login.jsp, part working):
<%@page contenttype="text/html;charset=utf-8"%> <%@page pageencoding="utf-8"%> <%@ page session="false" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <html> <head> <title>please log in</title> <style> h1{ font-size:1.5em; } h2{ font-size:1.1em; } label, input{ font-size:1.5em; } </style> <script type="text/javascript"> jquery(document).ready(function(){ jquery("#j_username").focus(); }); </script> </head> <body> <h1>welcome our app</h1> <c:if test="${not empty param.login_error}"> <div class='error' style="color: red;"> login attempt not successful, try again. </div> <div> if need access our app, please contact supervisor , can access. </div> </c:if> <h2>please login continue.</h2> ...
iow, complete contents of login.jsp being displayed, without processing of sort being done. happens in both firefox , chrome, tomcat 7.0.61. shows in tomcat log files:
2821136 [http-8080-4] debug org.springframework.security.web.filterchainproxy - /dashboard @ position 1 of 6 in additional filter chain; firing filter: 'securitycontextpersistencefilter' 2821136 [http-8080-4] debug org.springframework.security.web.context.httpsessionsecuritycontextrepository - no httpsession exists 2821136 [http-8080-4] debug org.springframework.security.web.context.httpsessionsecuritycontextrepository - no securitycontext available httpsession: null. new 1 created. 2821136 [http-8080-4] debug org.springframework.security.web.filterchainproxy - /dashboard @ position 2 of 6 in additional filter chain; firing filter: 'logoutfilter' 2821136 [http-8080-4] debug org.springframework.security.web.filterchainproxy - /dashboard @ position 3 of 6 in additional filter chain; firing filter: 'exceptiontranslationfilter' 2821136 [http-8080-4] debug org.springframework.security.web.filterchainproxy - /dashboard @ position 4 of 6 in additional filter chain; firing filter: 'authenticationfilter' 2821136 [http-8080-4] debug org.springframework.security.web.filterchainproxy - /dashboard @ position 5 of 6 in additional filter chain; firing filter: 'anonymousauthenticationfilter' 2821137 [http-8080-4] debug org.springframework.security.web.authentication.anonymousauthenticationfilter - populated securitycontextholder anonymous token: 'org.springframework.security.authentication.anonymousauthenticationtoken@9055e4a6: principal: anonymoususer; credentials: [protected]; authenticated: true; details: org.springframework.security.web.authentication.webauthenticationdetails@957e: remoteipaddress: 127.0.0.1; sessionid: null; granted authorities: role_anonymous' 2821137 [http-8080-4] debug org.springframework.security.web.filterchainproxy - /dashboard @ position 6 of 6 in additional filter chain; firing filter: 'filtersecurityinterceptor' 2821137 [http-8080-4] debug org.springframework.security.web.util.matcher.antpathrequestmatcher - checking match of request : '/dashboard'; against '/secure/super/**' 2821137 [http-8080-4] debug org.springframework.security.web.access.intercept.filtersecurityinterceptor - public object - authentication not attempted 2821137 [http-8080-4] debug org.springframework.security.web.filterchainproxy - /dashboard reached end of additional filter chain; proceeding original chain 2821137 [http-8080-4] debug org.springframework.web.servlet.dispatcherservlet - dispatcherservlet name 'spring mvc dispatcher servlet' processing request [/cemwar/dashboard] 2821137 [http-8080-4] debug org.springframework.web.servlet.mvc.annotation.defaultannotationhandlermapping - mapping [/dashboard] handlerexecutionchain handler [edu.mayo.lpea.lsa.cem.controllers.dashboardcontroller@4e939c89] , 1 interceptor 2821137 [http-8080-4] debug org.springframework.web.servlet.dispatcherservlet - last-modified value [/cemwar/dashboard] is: -1 2821137 [http-8080-4] debug org.springframework.web.bind.annotation.support.handlermethodinvoker - invoking request handler method: public java.lang.string edu.mayo.lpea.lsa.cem.controllers.dashboardcontroller.loaddashboard(javax.servlet.http.httpsession,org.springframework.ui.modelmap,edu.mayo.lpea.lsa.cem.config.userdetails) 2821137 [http-8080-4] debug org.springframework.security.access.intercept.aopalliance.methodsecurityinterceptor - secure object: reflectivemethodinvocation: public java.lang.string edu.mayo.lpea.lsa.cem.controllers.dashboardcontroller.loaddashboard(javax.servlet.http.httpsession,org.springframework.ui.modelmap,edu.mayo.lpea.lsa.cem.config.userdetails); target of class [edu.mayo.lpea.lsa.cem.controllers.dashboardcontroller]; attributes: [role_reader] 2821137 [http-8080-4] debug org.springframework.security.access.intercept.aopalliance.methodsecurityinterceptor - authenticated: org.springframework.security.authentication.anonymousauthenticationtoken@9055e4a6: principal: anonymoususer; credentials: [protected]; authenticated: true; details: org.springframework.security.web.authentication.webauthenticationdetails@957e: remoteipaddress: 127.0.0.1; sessionid: null; granted authorities: role_anonymous 2821137 [http-8080-4] debug org.springframework.security.access.vote.affirmativebased - voter: org.springframework.security.access.vote.rolevoter@91e1a75, returned: -1 2821137 [http-8080-4] debug org.springframework.security.access.vote.affirmativebased - voter: org.springframework.security.access.vote.authenticatedvoter@175afc00, returned: 0 2821138 [http-8080-4] warn org.springframework.context.support.resourcebundlemessagesource - resourcebundle [/web-inf/messages/messages] not found messagesource: can't find bundle base name /web-inf/messages/messages, locale en_us 2821138 [http-8080-4] warn org.springframework.context.support.resourcebundlemessagesource - resourcebundle [/web-inf/messages/messages] not found messagesource: can't find bundle base name /web-inf/messages/messages, locale en_us 2821138 [http-8080-4] debug org.springframework.web.servlet.dispatcherservlet - not complete request org.springframework.security.access.accessdeniedexception: access denied @ org.springframework.security.access.vote.affirmativebased.decide(affirmativebased.java:83) @ org.springframework.security.access.intercept.abstractsecurityinterceptor.beforeinvocation(abstractsecurityinterceptor.java:206) @ org.springframework.security.access.intercept.aopalliance.methodsecurityinterceptor.invoke(methodsecurityinterceptor.java:60) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179) @ org.springframework.aop.framework.cglibaopproxy$dynamicadvisedinterceptor.intercept(cglibaopproxy.java:653) @ edu.mayo.lpea.lsa.cem.controllers.dashboardcontroller$$enhancerbyspringcglib$$27934b39_2.loaddashboard(<generated>) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:606) @ org.springframework.web.bind.annotation.support.handlermethodinvoker.invokehandlermethod(handlermethodinvoker.java:177) @ org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter.invokehandlermethod(annotationmethodhandleradapter.java:446) @ org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter.handle(annotationmethodhandleradapter.java:434) @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:943) @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:877) @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:966) @ org.springframework.web.servlet.frameworkservlet.doget(frameworkservlet.java:857) @ javax.servlet.http.httpservlet.service(httpservlet.java:617) @ org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:842) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ com.opensymphony.sitemesh.webapp.sitemeshfilter.obtaincontent(sitemeshfilter.java:129) @ com.opensymphony.sitemesh.webapp.sitemeshfilter.dofilter(sitemeshfilter.java:77) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.invoke(filtersecurityinterceptor.java:118) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.dofilter(filtersecurityinterceptor.java:84) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.authentication.anonymousauthenticationfilter.dofilter(anonymousauthenticationfilter.java:113) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.authentication.abstractauthenticationprocessingfilter.dofilter(abstractauthenticationprocessingfilter.java:199) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.access.exceptiontranslationfilter.dofilter(exceptiontranslationfilter.java:113) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.authentication.logout.logoutfilter.dofilter(logoutfilter.java:110) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.context.securitycontextpersistencefilter.dofilter(securitycontextpersistencefilter.java:87) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.filterchainproxy.dofilterinternal(filterchainproxy.java:192) @ org.springframework.security.web.filterchainproxy.dofilter(filterchainproxy.java:160) @ org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy.java:344) @ org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy.java:261) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.springframework.web.filter.characterencodingfilter.dofilterinternal(characterencodingfilter.java:88) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:102) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:298) @ org.apache.coyote.http11.http11processor.process(http11processor.java:857) @ org.apache.coyote.http11.http11protocol$http11connectionhandler.process(http11protocol.java:588) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:489) @ java.lang.thread.run(thread.java:745) 2821139 [http-8080-4] debug org.springframework.security.web.access.exceptiontranslationfilter - access denied (user anonymous); redirecting authentication entry point org.springframework.security.access.accessdeniedexception: access denied @ org.springframework.security.access.vote.affirmativebased.decide(affirmativebased.java:83) @ org.springframework.security.access.intercept.abstractsecurityinterceptor.beforeinvocation(abstractsecurityinterceptor.java:206) @ org.springframework.security.access.intercept.aopalliance.methodsecurityinterceptor.invoke(methodsecurityinterceptor.java:60) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179) @ org.springframework.aop.framework.cglibaopproxy$dynamicadvisedinterceptor.intercept(cglibaopproxy.java:653) @ edu.mayo.lpea.lsa.cem.controllers.dashboardcontroller$$enhancerbyspringcglib$$27934b39_2.loaddashboard(<generated>) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:606) @ org.springframework.web.bind.annotation.support.handlermethodinvoker.invokehandlermethod(handlermethodinvoker.java:177) @ org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter.invokehandlermethod(annotationmethodhandleradapter.java:446) @ org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter.handle(annotationmethodhandleradapter.java:434) @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:943) @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:877) @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:966) @ org.springframework.web.servlet.frameworkservlet.doget(frameworkservlet.java:857) @ javax.servlet.http.httpservlet.service(httpservlet.java:617) @ org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:842) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ com.opensymphony.sitemesh.webapp.sitemeshfilter.obtaincontent(sitemeshfilter.java:129) @ com.opensymphony.sitemesh.webapp.sitemeshfilter.dofilter(sitemeshfilter.java:77) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.invoke(filtersecurityinterceptor.java:118) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.dofilter(filtersecurityinterceptor.java:84) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.authentication.anonymousauthenticationfilter.dofilter(anonymousauthenticationfilter.java:113) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.authentication.abstractauthenticationprocessingfilter.dofilter(abstractauthenticationprocessingfilter.java:199) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.access.exceptiontranslationfilter.dofilter(exceptiontranslationfilter.java:113) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.authentication.logout.logoutfilter.dofilter(logoutfilter.java:110) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.context.securitycontextpersistencefilter.dofilter(securitycontextpersistencefilter.java:87) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.filterchainproxy.dofilterinternal(filterchainproxy.java:192) @ org.springframework.security.web.filterchainproxy.dofilter(filterchainproxy.java:160) @ org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy.java:344) @ org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy.java:261) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.springframework.web.filter.characterencodingfilter.dofilterinternal(characterencodingfilter.java:88) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:102) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:298) @ org.apache.coyote.http11.http11processor.process(http11processor.java:857) @ org.apache.coyote.http11.http11protocol$http11connectionhandler.process(http11protocol.java:588) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:489) @ java.lang.thread.run(thread.java:745) 2821139 [http-8080-4] debug org.springframework.security.web.savedrequest.httpsessionrequestcache - defaultsavedrequest added session: defaultsavedrequest[http://127.0.0.1:8080/cemwar/dashboard] 2821139 [http-8080-4] debug org.springframework.security.web.access.exceptiontranslationfilter - calling authentication entry point. 2821139 [http-8080-4] debug org.springframework.security.web.defaultredirectstrategy - redirecting 'http://127.0.0.1:8080/cemwar/login' 2821139 [http-8080-4] debug org.springframework.security.web.context.httpsessionsecuritycontextrepository - securitycontext empty or contents anonymous - context not stored in httpsession. 2821139 [http-8080-4] debug org.springframework.security.web.context.securitycontextpersistencefilter - securitycontextholder cleared, request processing completed
what have set wrong here? complete jsp noob. note: none of controllers "@restcontroller @controller
the problem websphere includes jstl, , tomcat doesn't. maven pom had jstl "provided". eliminating fixed problem.
Comments
Post a Comment