복붙노트

[SPRING] 친숙한 URL 매핑 문제 - Java Spring

SPRING

친숙한 URL 매핑 문제 - Java Spring

나는 모든 페이지가 404로오고있는 web.xml에서 오류로 고민하고있다. 아마도 루트 경로가 있지만 어디에서 설정했는지 확신 할 수 없다.

이것은 현재 web.xml입니다.

<?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>Spring3MVC</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>
                  org.springframework.web.servlet.DispatcherServlet
              </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/*</url-pattern>

  </servlet-mapping>
</web-app>

해결법

  1. ==============================

    1.나는 당신의 질문 중 하나를 내 머리 꼭대기에서 먼저 대답했다. 이제 스프링 애플 리케이션 중 하나에 액세스 할 수 있습니다. 다음은 더 나은 구성입니다.

    나는 당신의 질문 중 하나를 내 머리 꼭대기에서 먼저 대답했다. 이제 스프링 애플 리케이션 중 하나에 액세스 할 수 있습니다. 다음은 더 나은 구성입니다.

    web.xml이 변경되었음을 알려드립니다. 사과드립니다. / *로 매핑하면 모든 요청이 운영자에 의해 해결됩니다. 어떤 의미에서 루프를 작성하면 디스패처에 의해 초기 매핑이 컨트롤러로 전달되며, 디스패처는 요청을 전달해야하는 위치를 매핑하기 위해 뷰 확인자를 사용합니다. / *에 매핑하면 디스패처에 의해 뷰 해석기 매핑이 처리됩니다.

    매핑되지 않은 모든 URL이 디스패처에 의해 처리되도록 변경하고 디스패처에서 초기 매핑을 처리하여 컨트롤러로 보내고 viewresolver에서 생성 된 매핑이 .jsp에 매핑되어 선택되지 않도록합니다. 운영자가 사과드립니다.

    <?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>Spring3MVC</display-name>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
                      org.springframework.web.servlet.DispatcherServlet
                  </servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
    
      </servlet-mapping>
    </web-app>
    

    spring-config.xml (구성 요소 검사를 변경해야 함)

    <?xml version="1.0" encoding="UTF-8"?>
    <beans:beans xmlns="http://www.springframework.org/schema/mvc"
        xmlns:beans="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
    
        <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
    
        <!-- Enables the Spring MVC @Controller programming model -->   
        <annotation-driven/>
    
            <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
        <resources location="/resources/" mapping="/resources/**"/> 
    
        <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
        <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <beans:property name="prefix" value="/WEB-INF/views/"/>
            <beans:property name="suffix" value=".jsp"/>
        </beans:bean>
    
        <context:component-scan base-package="package.with.controllers" />
    
    </beans:beans>
    

    제어 장치

    @RequestMapping(value={"/user/{id}"}, method=RequestMethod.GET)
    public ModelAndView profileDisplay(
            HttpServletRequest request, 
            HttpServletResponse response,
            @RequestParam(value="id", required=false) String id
    ) throws UnknownHostException, MongoException {
        ServiceSerlvet.appendSesssion(request);
        //get search ALL users
        BasicDBObject searchQuery = new BasicDBObject();
            searchQuery.put("_id", new ObjectId(id));
        List<DBObject> searchResponse = PersonController.searchUsers(searchQuery);      
    
        //System.out.println("response from search user method: "+searchResponse);
    
            //This should display "WEB-INF/views/user.jsp" you may need to adjust.
            return new ModelAndView("user", "people", searchResponse);
    }
    
  2. ==============================

    2.제게 돌아와 주셔서 감사합니다. web.xml이 변경되었고 일반적인 매핑이 해결되었습니다. 나는 당신이 css, js, 이미지 파일들에 대해서 언급 한 문제에 대해서도 언급했다.

    제게 돌아와 주셔서 감사합니다. web.xml이 변경되었고 일반적인 매핑이 해결되었습니다. 나는 당신이 css, js, 이미지 파일들에 대해서 언급 한 문제에 대해서도 언급했다.

    요격 URL을 추가하려고했지만 뭔가가 작동하지 않습니다. http가 web.xml에서 빨간색으로 강조 표시됩니다. 내가 그것을 일식에 띄울 때 표현한다.

    을 포함한다.

    <?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>Spring3MVC</display-name>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
                      org.springframework.web.servlet.DispatcherServlet
                  </servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    
      <http auto-config='true'>
       <intercept-url pattern="/css/**" filters="none"  />
        <intercept-url pattern="/images/**" filters="none" />
        <intercept-url pattern="/js/**" filters="none" />
      </http>
    </web-app>
    

  3. from https://stackoverflow.com/questions/13184411/friendly-url-mapping-issues-java-spring by cc-by-sa and MIT license