SpringMVC学习笔记(2)

206 阅读2分钟

preface:

又是学习的一天,虽然不是后端开发,为了工作需要,还是要学习相关知识。万一哪天学会了呢。我写的笔记也只适合我自己看看,目前连怎么建工程建类都要标注,╮(╯▽╰)╭。

Java,一步入坟。真的,刚学完语法就上手这个了,纯粹是工作需要,要当开发的哥们千万别这样。

p.s 下载spring和老版本的文档(修改url的版本号即可查看其它版本的)

第一个mvc程序

1、新建一个Moudle,springmvc-02-hellomvc,添加web的支持!

image.png

2、确定导入了SpringMVC的依赖!

3、配置web.xml ,注册DispatcherServlet

image.png 这里看到springmvc-servlet.xml红了,因为需要一个配置文件。

4、编写SpringMVC 的 配置文件!

在如图所示的地方新建一个file 命名为:springmvc-servlet.xml image.png

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

5、添加 处理映射器

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

6、添加 处理器适配器

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

7、添加 视图解析器

<!--视图解析器:DispatcherServlet给他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
   <!--前缀-->
   <property name="prefix" value="/WEB-INF/jsp/"/>
   <!--后缀-->
   <property name="suffix" value=".jsp"/>
</bean>

image.png

回过头再看这边,也没有爆红了。 image.png

8、编写我们要操作业务Controller

要么实现Controller接口,要么增加注解;需要返回一个ModelAndView,装数据,封视图;

新建一个包 image.png

新建一个HelloController类//真实开发中不会像下面这样写,这里是为了讲解需要

package com.kuang.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//注意:这里我们先导入Controller接口
public class HelloController implements Controller {

   public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
       //ModelAndView 模型和视图
       ModelAndView mv = new ModelAndView();

       //封装对象,放在ModelAndView中。Model
       mv.addObject("msg","HelloSpringMVC!");
       //封装要跳转的视图,放在ModelAndView中
       mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
       return mv;
  }
   
}

image.png

注:导包的快捷键:Alt +Enter(这里选择下面那个包) image.png

9、将自己的类交给SpringIOC容器,注册bean

image.png

10、写一个jsp

写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面

image.png

image.png

image.png

11、配置Tomcat 启动测试!

image.png

image.png 确认后,点击上方工具栏的绿色三角启动一下。

image.png

请求下hello,发现404了

image.png

可能遇到的问题:访问出现404,排查步骤:

  1. 查看控制台输出,看一下是不是缺少了什么jar包。
  2. 如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!
  3. 重启Tomcat 即可解决!

按图中方式打开project structure,查看是否有一个lib image.png

没有,于是手动添加一个 image.png 然后导入所有的包,apply一下。这是idea的问题,eclipse就没有这个问题 image.png

重启运行,成功

image.png