对于基础理论认识MVC的了解自己是看狂神的文档进行了解的,他写的非常好,帮他打call一下:
去看springmvc描述文档
·····今天自己对于SpringMvc进行了初级的入门学习,了解到了SpringMvc是用Controller去处理请求和响应的,直接代替了servlet的处理,相对而言确实简单方便的多了。
SpringMvc的处理逻辑目前自己只是掌握了代码逻辑,但是目前来讲的话自己只了解SpringMvc很多代码都是死的,自己动的代码很少,轻巧简化了代码量!这张图很详细的解析了SpringMvc的工作原理!
首先写第一个SpringMvc程序 第一步先引入springmvc的maven依赖,
第二步配置web.xml–注册DispatcherServlet;这个点要注意一下第一步注册这个DispatcherServlet这个是死代码不需要去记住,了解逻辑就可以了。然后第二步写:
<!--/ 匹配所有的请求;(不包括.jsp)-->
<!--/* 匹配所有的请求;(包括.jsp)-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这是自己手动写的,这一句代码就要注意一下了,是指在web.xml中注入所有的请求接收,然后去配置然后去配置springmvc-servlet.xml去处理请求怎么跳转到jsp这些
对于这个xml文件就是来处理对应的请求这些了,
```java
<!--视图解析器:DispatcherServlet给他的ModelAndView
1.获取了ModelAndView的数据
2.解析ModelAndView的视图名字
3.拼接视图名字找到对应的视图/WEB-INF/jsp/hello.jsp
4.将数据渲染到jsp页面
-->
```springmvc-servlet总的逻辑就是这样,这些操作简化了servlet1的操作,简单轻便。
最后就是把HelloController的页面代码完善,这页代码的注意点都写在这段代码块里面。
//注意:这里我们先导入Controller接口
/**继承Controller去处理请求和响应
*
* 如果遇到报错报500那么需要把tocat重新配置一下再把sdk设置一下设置成1.8
*/
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
//ModelAndView 模型和视图
ModelAndView mv = new ModelAndView();
//封装对象,放在ModelAndView中。Model
//封装对象,放在ModelAndView中。Model 这个模型负责存数据
mv.addObject("msg","HelloSpringMVC!");
//封装要跳转的视图,放在ModelAndView中 这个负责跳转到哪个地方
mv.setViewName("hello");//这句代码会经过springmvc-servlet.xml的视图解析解析器拼接成WEB-INF/hello.jsp 转发请求到hello.jsp页面
return mv;//return到视图
}
}
/**总结:1.以前跳转要写(req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req,resp);)来转发
* 现在直接设置一个视图的名字(mv.setViewName("hello");//WEB-INF/hello.jsp 转发请求到hello)就可以了
* 2.请求hello是从springmvc-servlet里面写的bean
* 3.所有的请求都会经过web.xml里面写了匹配所有请求的,然后去配置springmvc-servlet.xml去处理怎么跳转到jsp
*
* */
还有值得注意的一些细节就是:
可能遇到的问题:访问出现404,排查步骤:
查看控制台输出,看一下是不是缺少了什么jar包。
如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!
重启Tomcat 即可解决!
以上就是今天对于SpringMvc的学习了