Results 1 to 3 of 3

Thread: 404 on simple spring app on tomcat

  1. #1
    Join Date
    Sep 2012
    Posts
    1

    Default 404 on simple spring app on tomcat

    I keep getting a 404 while trying to apply SSL to my Simple Spring app called SpringEncrypted.
    The root website (which is the tomcat welcome page) works with both http and https,
    but whenever I try to access http://localhost:8080/SpringEncrypted or https://localhost:8443/SpringEncrypted,
    it always give me a 404 error, I figured it might be a directory problem but i'm not familiar with how tomcat deploys its directory, and because it worked when I tried it on Eclipse. I'm hoping this might be a common problem people encounter with spring/tomcat combination.
    Helps would be appreciated :]

    Here's the directory structure that I have inside the .war file located on the Tomcat webapps folder:
    (META-INF)
    -- manifest.mf
    (WEB-INF)
    ---web.xml
    ---doraemon-servlet.xml
    ---logging.properties
    ---(classes)
    ------com/kernn/spring3/controller/helloWorldController.class
    ------com/kernn/spring3/controller/helloWorldController.java
    ---(lib)
    hello.html
    hello.jsp
    index.jsp

    I'm using Tomcat 7, Spring 3.1.2, and JDK 6

    web.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns="http://java.sun.com/xml/ns/javaee"
    	xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    	id="WebApp_ID" version="2.5">
    
    	<display-name>Spring Encrypted</display-name>
    
    	<welcome-file-list>
    		<welcome-file>index.jsp</welcome-file>
    	</welcome-file-list>
    
    	<servlet>
    		<servlet-name>doraemon</servlet-name>
    		<servlet-class>
    			org.springframework.web.servlet.DispatcherServlet
    		</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>doraemon</servlet-name>
    		<url-pattern>*.html</url-pattern>
    	</servlet-mapping>  
    
    	<!--listener>  
        		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
      	</listener-->  
    
    
    	<!--listener>  
        		<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>  
      	</listener--> 
    
        <!--filter>
            <filter-name>springSecurityFilterChain</filter-name>
            <filter-class>
                org.springframework.web.filter.DelegatingFilterProxy
            </filter-class>
        </filter-->
    
        <!--filter-mapping>
            <filter-name>springSecurityFilterChain</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping-->
    
    </web-app>

    doraemon-servlet.xml
    Code:
    <?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:util="http://www.springframework.org/schema/util"
        xmlns:security="http://www.springframework.org/schema/security"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
                               http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                               http://www.springframework.org/schema/util 
                               http://www.springframework.org/schema/util/spring-util-3.0.xsd
                               http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
    
        <security:http auto-config="true">
            <security:intercept-url pattern="/styles/**" filters="none"/>
            <security:intercept-url pattern="/admin/**" access="ROLE_SUPERADMIN, ROLE_STANDARD" requires-channel="https"/>
            <security:intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY" requires-channel="https"/>
            <security:intercept-url pattern="/**" requires-channel="any" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
            
            <security:form-login login-page="/login.dhtml" authentication-failure-url="/login_fail.dhtml?error=1"/>
            <security:logout logout-url="/j_spring_security_logout" logout-success-url="/login.dhtml"/>
            
            <security:port-mappings>
                <security:port-mapping http="8090" https="8443"/>
                <security:port-mapping http="8080" https="8443"/>
            </security:port-mappings>
        </security:http>
        
         <bean id="channelProcessingFilter" class="org.springframework.security.web.access.channel.ChannelProcessingFilter">
            <property name="channelDecisionManager">
                <bean class="org.springframework.security.web.access.channel.ChannelDecisionManagerImpl">
                    <property name="channelProcessors">
                        <util:list>
                            <bean class="org.springframework.security.web.access.channel.SecureChannelProcessor"/>
                            <bean class="org.springframework.security.web.access.channel.InsecureChannelProcessor"/>
                        </util:list>
                    </property>
                </bean>
            </property>
            <property name="securityMetadataSource">
                <bean class=" org.springframework.security.web.access.intercept.DefaultFilterInvocationSecurityMetadataSource">
                    <constructor-arg>
                        <bean class="org.springframework.security.web.util.AntUrlPathMatcher"/>
                    </constructor-arg>
                    <constructor-arg>
                        <util:map map-class="java.util.LinkedHashMap">
                            <entry>
                                <key>
                                    <bean class="org.springframework.security.web.access.intercept.RequestKey">
                                        <constructor-arg value="/admin/**/**"/>
                                    </bean>
                                </key>
                                <util:list>
                            <bean class="org.springframework.security.access.SecurityConfig">
                                <constructor-arg value="REQUIRES_SECURE_CHANNEL"/>
                            </bean>
                        </util:list>
                            </entry>
                            <entry>
                                <key>
                                    <bean class="org.springframework.security.web.access.intercept.RequestKey">
                                        <constructor-arg value="/**"/>
                                    </bean>
                                </key>
                                <util:list>
                            <bean class="org.springframework.security.access.SecurityConfig">
                                <constructor-arg value="REQUIRES_INSECURE_CHANNEL"/>
                            </bean>
                        </util:list>
                            </entry>
                        </util:map>
                    </constructor-arg>
                </bean>
        </property>
    </bean>
    </beans>

  2. #2
    Join Date
    Oct 2012
    Posts
    1

    Default

    I suggest you to update the following line in "server.xml" file under "Servers->Tomcat v6.0 Server at localhost-config" (inside the "Package Explorer"). That, however, depends on if your tomcat server is using the configuration there. If your Tomcat server looks for the server.xml elsewhere, change it elsewhere then.

    e.g.
    <Context docBase="SpringEncrypted" path="/SpringEncrypted" reloadable="true" source="org.eclipse.jst.jee.server:SpringEncrypted "/></Host>

    Hope this helps.

  3. #3
    Join Date
    Oct 2012
    Location
    Philippines
    Posts
    16

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •