springMVC controller配置方式总结
第一种:不配置controller 的bean。(注解的方式)
在dispatch-servlet.xml中,在beans节点下配置context:component-scan节点
<!-- 启用spring注解-->
<context:component-scan base-package="com.loong.controller" />
这种方式需要在Controller对象上使用@RequestMapping("hello")指定方法对应处理的路径,比如一下两种方式:
举例1:url:http://localhost:8080/demo1/welcome/hello
@Controller
@RequestMapping("/welcome")
public class HelloWorldController {
@RequestMapping(value="/hello" ,method=RequestMethod.GET)
public String printWelcome(ModelMap model){
model.addAttribute("message" ,"Spring 3 MVC Hello World");
return "hello";
}
}
举例2:url:http://localhost:8080/demo1/home
@Controller
public class HomeController {
@RequestMapping("home")
public String home(){
return "home";
}
}
第二种方式配置controller的bean(url匹配bean)
在xxx-servlet.xml中
<context:component-scan base-package="com.controller" />
<!-- HandlerMapping -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<!-- HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
<!-- 处理器 -->
<bean name="/hello" class="com.controller.HelloWorldController" />
BeanNameUrlHandlerMapping:表示将请求的URL和Bean名字映射,如URL为 “上下文/hello”,则Spring配置文件必须有一个名字为“/hello”的Bean,上下文默认忽略。
SimpleControllerHandlerAdapter:表示所有实现了org.springframework.web.servlet.mvc.Controller接口的Bean可以作为Spring Web MVC中的处理器。如果需要其他类型的处理器可以通过实现HadlerAdapter来解决。
提示:关于写不写HandlerMapping 和HandlerAdapter的问题,参考:
http://www.imooc.com/article/4293
这种情况Controller类要实现Controller接口:
public class HelloWorldController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
// TODO Auto-generated method stub
ModelAndView mv = new ModelAndView();
mv.addObject("message", "HelloWorld");
mv.setViewName("hello");
return mv;
}
}
第三种配置Controller中bean的方式,使用一个统一配置集合,对各个URL对应的Controller做关系映射
在xxx-servlet中
<bean id="loginController" class="com.msm2.controller.LoginController" />
<bean id="mainController" class="com.msm2.controller.MainController" />
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="login">loginController</prop>
<prop key="userLogin">mainController</prop>
</props>
</property>
</bean>
在Controller类中
url:http://localhost:8080/msm2/login
@Controller
public class LoginController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
throws Exception {
ModelAndView mav = new ModelAndView();
mav.addObject("login");
return mav;
}
}
原文地址:http://www.cnblogs.com/ysloong/p/6388962.html
springMVC controller配置方式总结的更多相关文章
- 1.springMVC Controller配置方式
一.手动配置方式 1.web.xml中DispatcherServlet控制器的的配置 SpringMVC也是一种基于请求驱动的WEB框架,并且使用了前端控制器的设计模式.前端控制器就是Dispatc ...
- Spring MVC Controller配置方式
第一种 URL对应Bean如果要使用此类配置方式,需要在XML中做如下样式配置 以上配置,访问/hello.do就会寻找ID为/hello.do的Bean,此类方式仅适用小型的应用系统 第二种 为UR ...
- SpringMVC Controller配置方法有哪几种
第一种 URL对应Bean 如果要使用此类配置方式,需要在XML中做如下样式配置 <!-- 表示将请求的URL和Bean名字映射--> <bean class="org.s ...
- SpringMVC初写(一)SpringMVC的配置方式
1.Spring概述a)SpringMVC是什么?SpringMVC是Spring框架内置的MVC实现.SpringMVC就是一个Spring内置的MVC子框架MVC:Model-View-Contr ...
- SpringMVC:Controller配置总结
西部开源-秦疆老师:SpringMVC系列博客 , 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉! SpringMVC:Controlle ...
- springmvc的系统学习之配置方式
资源:尚学堂 邹波 springmvc框架视频 一.springMVC 工作流程 页面请求---->控制器(Controller DispatcherServlet)----& ...
- SpringMVC的注解方式配置
SpringMVC支持使用注解方式配置,比配置文件方式更加灵活易用,是SpringMVC使用的主流模式. 1.在配置文件中开启SpringMVC的注解 <!-- 开启包扫描 --> < ...
- SpringMVC(一)-- springmvc的系统学习之配置方式
资源:尚学堂 邹波 springmvc框架视频 一.springMVC 工作流程 页面请求---->控制器(Controller DispatcherServlet)----& ...
- SpringMVC基于代码的配置方式(零配置,无web.xml)直接继承WebMvcConfigurerAdapter
基于配置文件的web项目维护起来可能会更方便,但是有时候我们会有一些特殊的需求,比如防止客户胡乱更改配置,这时候我们需要给配置隐藏到代码中. 1.创建一个动态web项目(无需web.xml) 2.右键 ...
随机推荐
- 2、公司部门的组成 - CEO之公司管理经验谈
今天讲讲公司部门的组成.公司部门一般是根据公司业务来进行划分的,IT企业和其它企业的部门划分有一定的区别.企业部门的划分还是比较重要的,部门主要明确各部门所具有的自己的职责.这里对IT企业的部门做了一 ...
- php消息队列之 think queue消息队列初体验
使用thinkphp 5的 消息队列 think queue ● php think queue:listen --queue queuename ● php think queue:work -- ...
- Sql 的 RAISERROR用法
http://www.yesky.com/imagesnew/software/tsql/ts_ra-rz_5ooi.htm RAISERROR 返回用户定义的错误信息并设系统标志,记录发生错误.通过 ...
- 非常好用的弹出层 layer,常用功能demo,快速上手!
功能强大,实用,操作方便,文档齐全. 参数灵活,丰富.可以作为开发项目的公共模块,多处使用.老文档地址:http://layer.layui.com/api.html 已经停止维护 新文档地址:htt ...
- CSS3的动画属性
transition.animation和transform是CSS3中三个制作动画的重要属性,本篇文章主要对其进行学习了解. 一.transition transition允许css的属性值在一定的 ...
- 该帐户当前被锁定,所以用户sa登录失败。系统管理员无法将该帐户解锁
运行程序时抛出异常: 基础提供程序在 Open 上失败,详细信息:该帐户当前被锁定,所以用户sa登录失败.系统管理员无法将该帐户解锁. 1.考虑连接字符串是否正常 登录数据库,发现登录报同样的错误 = ...
- css实现梯形标签页
html <nav>click me</nav> css nav{ position: relative; display: inline-block; padding: 15 ...
- Nginx配置反向代理
Nginx可做web服务器,也可做负载均衡使用. 反向代理:应用服务器不直接提供服务,通过nginx服务器处理请求, 转发到代理服务器(Tomcat,Nginx,Apache等) 获取响应交给客户端, ...
- 运维架构服务监控Open-Falcon
一. 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题.监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择.当公司刚 ...
- windows NLB+ARR实现Web负载均衡高可用/可伸缩
基于IIS的ARR负载均衡 基于NLB负载均衡 这两篇分别分ARR 和 NLB基本配置,下面我们讲讲,如何组合使用,搭配成高可用/可伸缩集群. 什么是高可用,可伸缩 ? 高可用:是指系统经过专门设计减 ...