2017-06-13 83 views
1

在調度-servlet.xml文件在彈簧MVC映射在web.xml多個URL模式休息控制器,我有以下配置如何使用瓦片

<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" 
     value="org.springframework.web.servlet.view.tiles3.TilesView" /> 
</bean> 


<bean id="tilesConfigurer" 
    class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles.xml</value> 
     </list> 
    </property> 
</bean> 

彈簧security.xml文件文件

<http auto-config="true" use-expressions="true"> 
    <intercept-url pattern="/resources/**" access="true" /> 
    <intercept-url pattern="/login.htm" access="true" /> 
    <intercept-url pattern="/postSocialResponse.htm" access="true" /> 
    <intercept-url pattern="/rest/socialData/*" access="true" /> 
    <intercept-url pattern="/**" access="hasAnyRole('ROLE_SA','ROLE_ADMIN', 'ROLE_LEAD','ROLE_AGENT')" /> 
    <form-login 
     login-page="/login.htm" 
     default-target-url="/" 
     authentication-failure-url="/login.htm?error" 
     username-parameter="username" 
     password-parameter="password" /> 
    <logout logout-success-url="/login.htm?logout" /> 

web.xml文件

<servlet> 
    <servlet-name>socialcare-dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>socialcare-dispatcher</servlet-name> 
    <url-pattern>*.htm</url-pattern> 

</servlet-mapping> 

GetSocialAnalyzedDataService.java文件

@RestController 
@RequestMapping(value="/rest/socialData") 
public class GetSocialAnalyzedDataService { 
    private Logger logger = LoggerFactory.getLogger(getClass()); 

    private static SocialAnalyzedDataRepository socialAnalyzedDataRepository= SocialAnalyzedRepositoryImpl.getInstance(); 

    @RequestMapping(value = "/{feedPostUserId}", method = RequestMethod.GET) 

    public @ResponseBody String createMessage(@PathVariable String feedPostUserId) throws Exception { 
     logger.info("feedpost user id"+feedPostUserId); 
     return feedPostUserId; 
    } 
} 

誰能幫我打電話給使用上面的配置文件這個URL。 我不能與http://localhost:8080/FilterRule/rest/socialData/create.htm然後用URL模式http://localhost:8080/FilterRule/rest/socialData/234567

訪問Web服務。如果我使用下面的代碼,它正在

@RequestMapping(value="/rest/socialData") 
public class GetSocialAnalyzedDataService { 
    private Logger logger = LoggerFactory.getLogger(getClass()); 

    private static SocialAnalyzedDataRepository socialAnalyzedDataRepository= SocialAnalyzedRepositoryImpl.getInstance(); 

    @RequestMapping(value = "/create.htm", method = RequestMethod.GET) 

    public @ResponseBody String createMessage() throws Exception { 
     logger.info("feedpost user id"); 
     return feedPostUserId; 
    } 
} 

回答

0

你能嘗試添加這web.xml

<servlet-mapping> 
    <servlet-name>socialcare-dispatcher</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 
+0

感謝Ootero的迴應。但是,如果我正在編寫上面的代碼,那麼我得到的錯誤。在此行發現多個註釋: \t - cvc-identity-constraint.4.1:爲身份約束聲明重複的唯一值[socialcare-dispatcher]「web-app- servlet-name-uniqueness「 \t元素」web-app「。 \t \t socialcare1-調度 \t \t org.springframework.web.servlet.DispatcherServlet user6209247

+0

因此,我已用下面的代碼解決了它-class> \t \t <負載上啓動> 2 \t \t \t \t socialcare1-調度 \t \t /rest/ \t \t \t user6209247