除了@requestMapping 我们可以在 spring 中写什么?
Except @requestMapping what we can write in spring?
这里我不想写 @requestMapping 所以除了 spring.xml 文件中的内容。
我想知道这两种情况,比如如果我不使用 @requestmapping class 级别和方法级别我必须写什么?
配置 SpringMVC 有两种方法 XML Config 和 Annotation Config :
- 配置使用XML(这是老办法,不推荐了):
在spring-mvc-config.xml中:这里我们将/hello
映射到helloWorldController
<beans ...>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello">helloWorldController</prop>
</props>
</property>
</bean>
<bean id="helloWorldController" class="xx.yy.zz.HelloWorldController" />
</beans>
HelloWorldController
应该从 AbstractController
扩展并实现 handleRequestInternal()
:
public class HelloWorldController 扩展了 AbstractController
{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("hello");
model.addObject("message", "HelloWorld!");
return model; //will go to hello.jsp
}
}
- 相当于注解配置:
@Controller
public class HelloWorldController
{
@RequestMapping("/hello")
protected ModelAndView hello() throws Exception {
ModelAndView model = new ModelAndView("hello");
model.addObject("message", "HelloWorld!");
return model; //will go to hello.jsp
}
}
这里我不想写 @requestMapping 所以除了 spring.xml 文件中的内容。 我想知道这两种情况,比如如果我不使用 @requestmapping class 级别和方法级别我必须写什么?
配置 SpringMVC 有两种方法 XML Config 和 Annotation Config :
- 配置使用XML(这是老办法,不推荐了):
在spring-mvc-config.xml中:这里我们将/hello
映射到helloWorldController
<beans ...>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello">helloWorldController</prop>
</props>
</property>
</bean>
<bean id="helloWorldController" class="xx.yy.zz.HelloWorldController" />
</beans>
HelloWorldController
应该从 AbstractController
扩展并实现 handleRequestInternal()
:
public class HelloWorldController 扩展了 AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("hello");
model.addObject("message", "HelloWorld!");
return model; //will go to hello.jsp
}
}
- 相当于注解配置:
@Controller
public class HelloWorldController
{
@RequestMapping("/hello")
protected ModelAndView hello() throws Exception {
ModelAndView model = new ModelAndView("hello");
model.addObject("message", "HelloWorld!");
return model; //will go to hello.jsp
}
}