在註釋驅動的Spring MVC中,有沒有辦法生成一個URL模式,動詞及其映射表?例如:在Spring MVC中,有沒有一種方法可以生成可識別的控制器和視圖列表?
/foo/{fooId} | GET | FooController.get() | jsp/foo/home.jsp |
/foo/{fooId}/bars/ | GET | FooController.getBars() | jsp/foo/bar/index.jsp |
在註釋驅動的Spring MVC中,有沒有辦法生成一個URL模式,動詞及其映射表?例如:在Spring MVC中,有沒有一種方法可以生成可識別的控制器和視圖列表?
/foo/{fooId} | GET | FooController.get() | jsp/foo/home.jsp |
/foo/{fooId}/bars/ | GET | FooController.getBars() | jsp/foo/bar/index.jsp |
這幫了我。裏面的log4j.xml把下面:
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger>
<logger name="org.springframework.beans">
<level value="info" />
</logger>
<logger name="org.springframework.context">
<level value="info" />
</logger>
<logger name="org.springframework.http">
<level value="debug" />
</logger>
<!-- below alternate between debug and info -->
<logger name="org.springframework.web">
<level value="debug" />
</logger>
爲我工作,但請注意,這不是你需要在你的XML文件中。還需要這個... <?xml version =「1.0」encoding =「UTF-8」?> <!DOCTYPE log4j:configuration PUBLIC「 - // log4j/log4j Configuration // EN」「log4j.dtd」>
不適合我,spring 4.0.0 – NickJ 2016-03-24 15:11:05
這是同樣的方法,只是更具體提及,所以你只需要登錄的網址映射,而不是一切從Spring框架的約翰FUHR。我也使用log4j.properties,而不是.xml,但如果你喜歡,你可以將它轉換。我假設你也有一個名爲mainAppender
的appender。
我使用Spring 3.2.2.RELEASE,但它也可以與其他版本一起使用。
此記錄是負責什麼,你有@RequestMapping
標記:
log4j.logger.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=INFO, mainAppender
這是負責<mvc:resources />
定義記錄器:
log4j.logger.org.springframework.web.servlet.handler.SimpleUrlHandlerMapping=INFO, mainAppender
您可能還需要增加這兩條線停止如果您遇到這種情況,請重複輸出(打印兩行相同的行)。
log4j.additivity.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=false
log4j.additivity.org.springframework.web.servlet.handler.SimpleUrlHandlerMapping=false
這是輸出的一個例子,我得到:
14:29:43 INFO RequestMappingHandlerMapping.registerHandlerMethod():185 - Mapped "{[/splash],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String au.org.example.HomeController.splash(org.springframework.ui.Model)
14:29:43 INFO RequestMappingHandlerMapping.registerHandlerMethod():185 - Mapped "{[/home],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String au.org.example.HomeController.home(boolean,int,org.springframework.ui.Model)
14:29:44 INFO SimpleUrlHandlerMapping.registerHandler():302 - Root mapping to handler of type [class org.springframework.web.servlet.mvc.ParameterizableViewController]
14:29:44 INFO SimpleUrlHandlerMapping.registerHandler():315 - Mapped URL path [/js/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0'
14:29:44 INFO SimpleUrlHandlerMapping.registerHandler():315 - Mapped URL path [/images/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1'
14:29:44 INFO SimpleUrlHandlerMapping.registerHandler():315 - Mapped URL path [/css/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#2'
這不是因爲漂亮,你以後,但它確實給你的信息的前三列(從示例表)。不幸的是你沒有看到視圖名稱。
+1個好問題! – Nilesh 2011-03-10 06:24:27
不是答案,但可能會有幫助...打開org.springframework(log4J config)的DEBUG級別日誌記錄。當容器啓動時,你會得到一個URI模式列表及其匹配的控制器和方法(不要以爲你得到HTTP動詞或JSP路徑) – nickdos 2011-03-10 08:00:45