回忆Servlet
大家肯定都学会Servlet
首先我们来聊聊@WebServlet()
它的作用:用于将一个类声明为 Servlet(不用配置web.xml)
具体:该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet。
请问大家@WebServlet("/")和@WebServlet("/*")有什么不同?
有人会说:so easy~
有人会说:一样啊,都是处理所有请求
我来说说看:
1.@WebServlet("/"):是处理除了(.jsp)的其他所有请求,遇到以(.jsp)结尾的请求只显示界面不做处理,但是(.html)等等结尾的请求会做处理。
2.@WebServlet("/*"):是处理除了(.)的其他所有请求,遇到以(.)结尾的请求不显示界面也不做处理。
知道了这个以后,我们来写一个Servlet简单代码
首先建立一个动态WEB工程
然后新建一个index.jsp
接着新建一个Servlet
这就是front 前端设计模式
这里的front就是和@WebServlet("/")一样的作用
OK啦,引出我们SpringMVC四个重要组件
- DispatcherServlet : 前端控制器,接收所有请求(如果配置/不包含jsp)
- HandlerMapping: 解析请求格式的.判断希望要执行哪个具体的方法.
- HandlerAdapter: 负责调用具体的方法.
- ViewResovler:视图解析器.解析结果,准备跳转到具体的物理视图
对应就是上面的图就是
SpringMVC 运行原理图