Spring mvc Controller接口
时间:2022-05-06
本文章向大家介绍Spring mvc Controller接口,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Spring MVC
1. 继承该接口 Controller接口,重写对应方法,或者采用注解Controller,自定义映射文件
1 @Controller
2 @RequestMapping("/flight")
3 public class ControlFlight /*implements Controller*/ {
4
5
6 }
需要注意的是:
SimpleUrlHandlerMapping 决定使用哪一个控制器。
其中对于prexf-servlet-.xml文件中使重定向方式:
1. 第一种ModelAndView方式。
1 <!--基于URL映射器-->
2 <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
3 <property name="mappings">
4 <props>
5
6 <prop key="start1.do">ControlFlight</prop>
7 <prop key="buy.do">ControlFlight</prop>
8 <prop key="flight.do">ControlFlight</prop>
9 <prop key="result.do">ControlFlight</prop>
10 <!--<prop key="start.do">loginController</prop>-->
11 </props>
12 </property>
13 </bean>
14
15 <!-- <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
16 <property name="viewName" value="buy"/>
17 </bean>-->
18
19 <bean id="ControlFlight" class="com.qunar.flight.control.ControlFlight"/>
20
21
22 <!--ViewResolver映射-->
23 <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
24 <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
25 <property name="prefix" value="/WEB-INF/flight/"/>
26 <property name="suffix" value=".jsp"/>
27 <property name="order" value="1"/>
28 </bean>
之后进入Controller中进行任务分派:
1 @RequestMapping(value = "/start.do", method = RequestMethod.GET)
2 public ModelAndView BuyAirTicket() {
3
4 return new ModelAndView("buy");
5 }
2 第二种采用
<!--基于URL映射器-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="start.do">loginController</prop>
</props>
</property>
</bean>
<bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="buy"/>
</bean>
然后和下面的部分代码实现URL拼接
1 <!--ViewResolver映射-->
2 <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
3 <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
4 <property name="prefix" value="/WEB-INF/flight/"/>
5 <property name="suffix" value=".jsp"/>
6 <property name="order" value="1"/>
7 </bean>
还有另一种方法:
就是直接使用这个命令,但是前提条件是,请求URI的前缀(过滤掉.vm,.htm等)和转发的一样,则直接可以使用
1 <bean id="loginController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
3 继承AbstractControlle 接口,并实现相应的方法,次方法和Controller相同,但是对于如果想封装表单请求,可以直接使用CommandController,-->AbstractCommandController(3.0以上版本废弃)
4. 注解@RequestMapping("/path") -->在类级别上定义注解时,那么再用此方法注解方法method时,那么method下的路径是与类路径相对。
@PathVariable 该注释是用来指明URL路径里面取参数,这个注解可以多个使用,下面时使用一种的代码片段
1 @RequestMapping("/flight/{name}")
2 public ModelAndView toAdd(@PathVariable("name") String name){
3
4 ModelAndView mav = new ModelAndView("buy");
5 return mav;
6 }
- nwui —— 又一个go语言图形界面解决方案
- Golang 通用连接池
- 解决JS操作Cookies出现的乱码问题,修复WordPress评论乱码
- 分享一个WordPress外链跳转教程,兼容知更鸟暗箱下载和文章索引
- 让WordPress RSS/Feed订阅数据延迟发布,附RSS技巧集锦
- Linux系统防CC攻击自动拉黑IP增强版Shell脚本
- 利用artDialog给网站添加一个能显示搜索来路和关键词的欢迎框
- 解决启用wp super cache缓存后,页面追加多个斜杠仍然可以访问的隐患
- WordPress集成底部滚动推荐条,让好文章不再被埋没
- go语言base64加密解密的方法
- WordPress酷炫CSS3读者墙,排名按年度、本月、本周划分的小方法
- WordPress给文章添加百度是否已收录查询和显示功能(自定义栏目优化版)
- PHP制作百度站内搜索绿色通道的网页列表数据文件
- 分享几个可用的二维码API,以及给博客添加文章二维码图片的方法
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Keras2NCNN?Yes
- 【翻译】从头实现Rust异步执行器
- 说一下你常用的加密算法
- 深入研究 Node.js 的回调队列
- 【kalman filter】卡尔曼滤波器与python实现
- 一文带你响应式网页设计入门
- 图像增强 | CLAHE 限制对比度自适应直方图均衡化
- 一分钟速学 | NMS, IOU 与 SoftMax
- [译] 使用 TypeScript 开发 React Hooks
- 磁盘空间分析神器 - ncdu
- Kafka笔记—可靠性、幂等性和事务
- 工程能力UP!| LightGBM的调参与并行
- 你想要的Android性能优化系列:启动优化 !
- 微信小程序的自定义组件(入门)
- linux 中关于PAM的点滴笔记