2011-01-06 13 views
1

の真ん中に現れて: 春MVC 3.0、 Apacheのタイル2.1.2、 のApache Tomcat 6.0.29、 道場1.5JSESSIONIDは、私が使用しているURL

私のブラウザはTomcatをヒット二度目、 urlはその真ん中にスプラット表示されたjsessionidでジャックアップされます。

まず要求:http://localhost:8081/accessmenus/menus/main

2番目のリクエスト:http://localhost:8081/;jsessionid=45A05E88DD78A06B1C99C3C02D45D65Caccessmenus/menus/main

(後続のすべての要求はJSESSIONIDを持っていない)

任意のアイデア?

のweb.xml:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
     version="2.4"> 

    <!-- The master configuration file for this Spring web application --> 
    <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/config/web-application-config.xml</param-value> 
    </context-param> 

    <!-- Enables use of HTTP methods PUT and DELETE --> 
    <filter> 
    <filter-name>httpMethodFilter</filter-name> 
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> 
    </filter> 

    <filter-mapping> 
    <filter-name>httpMethodFilter</filter-name> 
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
    </filter-mapping> 

    <!-- Loads the Spring web application context --> 
    <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <!-- The front controller of this Spring Web application, responsible for handling all application requests --> 
    <servlet> 
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value></param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <!-- Map all *.spring requests to the DispatcherServlet for handling --> 
    <servlet-mapping> 
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 

webmvc-config.xmlに:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 

    <!-- Enables controllers mapped with @RequestMapping annotations, formatting annotations @NumberFormat @DateTimeFormat, and JSR 303 style validation --> 
    <mvc:annotation-driven/> 

    <mvc:resources mapping="/resources/**" location="/, classpath:/META-INF/web-resources/" /> 
    <mvc:default-servlet-handler /> 

    <!-- Map paths directly to view names without controller processing. Use the view-name attribute if necessary: by convention the view name equals the path without the leading slash --> 
    <mvc:view-controller path="/" view-name="mmg" /> 

    <!-- Resolves logical view names returned by Controllers to Tiles; a view name to resolve is treated as the name of a tiles definition --> 
    <bean id="tilesViewResolver" class="org.springframework.js.ajax.AjaxUrlBasedViewResolver"> 
     <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/> 
    </bean> 

    <!-- Configures the Tiles layout system --> 
    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
     <property name="definitions"> 
      <list> 
       <value>/WEB-INF/**/views.xml</value> 
      </list> 
     </property> 
    </bean> 

</beans> 

のTomcatのserver.xml:

<?xml version='1.0' encoding='utf-8'?> 
<Server port="8005" shutdown="SHUTDOWN"> 

    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> 
    <Listener className="org.apache.catalina.core.JasperListener" /> 
    <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> 
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> 
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> 

    <GlobalNamingResources> 
    <Resource name="UserDatabase" auth="Container" 
       type="org.apache.catalina.UserDatabase" 
       description="User database that can be updated and saved" 
       factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 
       pathname="conf/tomcat-users.xml" /> 
    </GlobalNamingResources> 

    <Service name="Catalina"> 

    <Connector port="8081" protocol="HTTP/1.1" 
       connectionTimeout="20000" 
       redirectPort="8443" 
       compression="on" 
       compressableMimeTypes="text/html,text/xml,text/plain,text/javascript,text/css" 
       compressionMinSize="1024" /> 

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 

    <Engine name="Catalina" defaultHost="localhost"> 

     <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
      resourceName="UserDatabase"/> 

     <Host name="localhost" appBase="webapps" 
      unpackWARs="true" autoDeploy="false" 
      xmlValidation="false" xmlNamespaceAware="false"> 

     <Context docBase="ROOT" path=""/> 

     </Host> 
    </Engine> 
    </Service> 
</Server> 
+0

これはログイン前またはログイン後に発生しています。 –

+0

私はまだログインメカニズムを使用していません(まだ)。ですから、Tomcatを再起動してブラウザを再起動すると、これが初めて発生します。私はなぜjsessionidが入れられているのか理解していると思います(セッションを確立しようとしています)。私はそれがなぜURLの真ん中に置かれているのか分からない。 – scrotty

答えて

3

それTUこれは私がJSPの1つでやっていた偶発的な二重urlencodingによって引き起こされたものです。基本的に、私はこれをやっていた:それはそれをurlencodesので、変数を初期「ROOTPATH」を作成するために、URL:私は春を使用しているべきではありません

<spring:url var="rootPath" value="/root/path" /> 
<spring:url var="fullPath" value="${rootPath}/rest/of/path" /> 

。これはそれをやった方法です:

<c:set var="rootPath" value="/root/path" scope="page" /> 
<spring:url var="fullPath" value="${rootPath}/rest/of/path" /> 

私の問題を読む時間を取った人のおかげで! :^)

関連する問題