Srpingmvc-入门

1.新建一个mvaenProject

目的是:统一管理我们的依赖,我们之后做的所有springmvc程序,这样也更利于我们后续的复习

 

 - 创建好之后就把src删掉,这是一个大包我们不需要用到src,这个大包用来管理我们后面创建的每一个module模块。

2 创建模块

1. 这里我们学习狂神的做法,创建module的

在大项目下创建Moudle

 

 其余直接创建就好了。

3 导入springmvc依赖

1. 可以在父类的pom.xml文件上插入下面这些Springmvc依赖,这样以后每一个子类都不需要导入这些依赖了。

   <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

导入完毕之后,记得刷新一下maven。

4 给子module添加web支持

 

 5 将依赖添加到module上

 

-

把Library Files里面的东西全部添加进,lib这个文件上

 

 6 编写web.xml文件:注册DispatcherServlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!--1.注册DispatcherServlet-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--关联一个springmvc的配置文件:【servlet-name】-servlet.xml-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!--启动级别-1-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!--/ 匹配所有的请求;(不包括.jsp)-->
    <!--/* 匹配所有的请求;(包括.jsp)-->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>


    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

这段代码的含义是:

<!-- 有多少请求,会被servlet-name为springmvc管理,
       这个Servlet-name的为springmvc,就是上面的dispatcherServlet,
        它也的servlet-name也是:springmvc
       <url-pattern>:指的你访问过来的路劲
                / 匹配所有的请求;(不包括.jsp)
                /* 匹配所有的请求;(包括.jsp)
-->

编写springmvc的配置文件

  1.  配置 【处理器映射器】bean
  2. 配置【处理器适配器】bean。
  3. 配置【视图解析器】bean

上面爆红的名字,就是springmvc配置文件名字,所以你在这里创建叫什么名字,那爆红的地方就写什么名字

 

添加处理器映射器

- 这个bean是从spring里面拿的,不需要自己定义一个类。

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

添加处理器适配器

- 这个bean是从spring里面拿的,不需要自己定义一个类。

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

添加视图解析器

- 这个bean是从spring里面拿的,不需要自己定义一个类。

<!--视图解析器: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>

编写controller

  1.  随便写一个类,让其实现Controller的类
  2. 在springmvc的配置文件中,将1.写的类,加载成bean
    注意,这个bean的id就是我们在浏览器访问的地址。
  3. 在/WEB-INF/jsp/ 下创建一个hello.jsp的前端页面

编写controller实现类

 

package com.pcs.controller;

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

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

public class HelloController implements Controller {
    /**
     * 这个方法的作用就是处理你发送过来的请求逻辑。
     *      一般都会是增删改查,这些操作,然后我们把前端想要的结果给他们返回
     *      返回值ModelAndView,就是我们要返回回去的内容
     *      httpServletRequest就是对方发送过来的请求
     *      httpServletResponse可以帮助我们完成重定向或者转发操作。
     * @param httpServletRequest
     * @param httpServletResponse
     * @return
     * @throws Exception
     */
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        //ModelAndView:直接翻译就是:模型和视图
        //既然我们要返回这个值,我们就创建一个
        ModelAndView modelAndView = new ModelAndView();
        //给这个对象封装数据,因为我们要返回的就是这个ModelAndView,我们要封装起来得回给前端返回回去
        modelAndView.addObject("msg","helloSpringMVC");
        //这个atrributeName:就是健,atrributeValue就是值。前端通过jstl表达式,就能通过这个健的名字,将值取出来

        modelAndView.setViewName("hello");// 这一步指的是,你要将这个内容返回给那个页面。
                                            //刚才我们是不是在 springmvc的配置文件上设置视图解析器呀?
                                            //哪里的前缀就放在hello的前面,后缀就放在hello的后面。组合起来就是:/WEB-INF/jsp/hello.jsp
        return modelAndView;//这就返回即可。

    }
}

将刚创建controller实现类加载成bean

 

 编写jsp文件

 配置tomcat

下载

地址:Apache Tomcat® - Welcome!

配置tomcat

- 选择artified

 

运行测试

 

出现的问题

 

 - 出现这个问题的原因是什么呢?

  1. 可能是bean没有加载进spring容器中,根据上图。我们犯了一个致命
     
  2. 查看第六步,导入添加依赖是否有添加进去

 - 解决方案是:

 

问题二:

 

 》前端页面获取数据的格式写错了。

 

 最终效果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值