SpringMVC框架(上)

SpringMVC处于表现层

入门案例

1.检查依赖

2.创建三级包controller,创建HelloController类

3.在类里加@Controller不足以说明是控制器,加RequestMapping才算

controller意义:把类交给spring管理

dispatcherServlet

tomcat一旦启动,

<load-on-startup>1</load-on-startup>

此代码生效,生效后加载

<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param>

所以要加载springmvc.xml

扩展名匹配:结尾必须带.do,如果不带就匹配不上无法拦截

<servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>

/这是dispatcherServlet拦截所有请求

<context:component-scan base-package="com.qcby" />

找到@Controller

一个请求到达表现层的流程

入门案例结合图上图的解释

所有请求都会被DispatcherServlet堵住,然后解读url找到处理器映射器,解读/hello.do

然后找到适配器适配controller(在此切断,不会到业务层)controller直接返回结果,结果在给DispatcherServlet,然后DispatcherServlet找视图解析器,视图解析器返回视图渲染,最后呈现页面

超链接默认是GET请求

@RequestMapping(path = "/hello.do" ,method = RequestMethod.POST)

对应

<%-- 超链接 --%> <h3>入门</h3> <a href="/say/hello.do">入门程序</a> <form method="post" action="/say/hello.do"> <input type="submit" value="提交"> </form>

补充:在后面加params

@RequestMapping(path = "/hello.do" ,method = RequestMethod.POST, params = "username")

必须传递username否则也匹配不上

对应:

<input type="text" name="username" value="张三">

相关推荐
niucloud-admin7 分钟前
JAVA V6 多商户商城 开发文档——JAVA服务端
java·开发语言
alexlifexyz22 分钟前
写了个 Claude Code 插件:AI 写的 Java 违反阿里规约,就写不进文件
java
轻舟技术A22 分钟前
Pi 的 Rust 实现来了:rpi,不止一个终端 Agent
开发语言·后端·rust
站大爷IP31 分钟前
Python的字典遍历把我坑惨了,原来items和keys的区别这么大
后端
威哥爱编程34 分钟前
【AI全栈12-01】Spring Boot 为何是 AI 全栈后端优选
java·spring boot·后端
汉堡大王952735 分钟前
GPT-6 上线 48 小时,我扒开了 Intelligent UI 的运行机制:DIL、沙箱 Worker 和一个 React 式协调器
前端·javascript·后端
用户EasyAdminBlazor36 分钟前
EasyAdminBlazor 实战:从 Entity 到完整 Admin Blazor 后台详解
后端
Bazingga37 分钟前
AgentScope 到底是用来做什么的?一篇笔记说清楚
后端
威哥爱编程37 分钟前
【AI全栈12-03】Spring Boot 用多模型路由把智能客服成本降下来
java·spring boot·后端