此系列学习笔记是狂神的经典SpringMVC视频的学习笔记,仅供我自己复习总结使用,
以前学过springmvc,现在需要用到,结果发现狂神讲的ZBC,又因为福曼学习法,学到了东西,总结出笔记能让我学习效率更高,以后也方便回顾。
看原版是看我笔记的收获的100倍不止!请去看原版,原版真的讲的很好!bilibili搜索 狂神说java 即可。
https://space.bilibili.com/95256449

此笔记对应视频p3 3、回顾Servlet
好了,开始我的总结秀。

1,项目的创建

这里狂神强调,如果是demo,可以创建一个空白的maven项目,然后第一件事就是把src删掉,因为没用。
然后要做mvc的学习,只需要创建一个子module即可,注意这里的子module。
创建的是空白maven的子module。

然后右键 Add Framework Support
在这里插入图片描述
为什么这么做呢?这是因为这样可以直接添加为web4.0架构,省去了很多麻烦!!
在这里插入图片描述
创建完了之后,这个子module会多出一个web包。

在这里插入图片描述

这样一个web项目就创建完了。

2,web.xml里的注意事项

1,页面注册问题,jsp页面一定要在这里注册
servlet标签是它的名字和对应的servlet类
servlet-mapping标签指定名字以和上面servlet里的name匹配,指定url-pattern以确定浏览器访问地址。
一般用tomcat的话,默认是localhost:8080端口
我这里是/hello,所以总的地址就是localhost:8080/hello

    <!--写过的页面一定要在这里注册-->
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.czxy.servlet.HelloServlet</servlet-class>
    </servlet>

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

2,设置session的超时时间

<!--    设置session超时时间 单位是分钟,比如下面就是15分钟超时-->
<!--    <session-config>-->
<!--        <session-timeout>15</session-timeout>-->
<!--    </session-config>-->

3,设置欢迎页面,即访问8080就会显示的页面:

<!--    配置欢迎页面-->
<!--    <welcome-file-list>-->
<!--        <welcome-file>index.jsp</welcome-file>-->
<!--    </welcome-file-list>  -->

3,WEB-INF的注意事项

放在WEB-INF里的资源是不公开的,只能通过servlet来访问到,无法直接在地址栏访问。

4,添加Tomcat的方法

在这里一定要点击加号
在这里插入图片描述
找到tomcat
在这里插入图片描述
先点击configure配置tomcat的位置,如果你配置了环境变量,他会自动识别位置。如果没有配置tomcat的环境变量,那你就得手动配置tomcat的安装目录。
然后你得点击fix,设置一下地址
在这里插入图片描述
点击fix会跳转到这里,点击+号,添加Artifact
在这里插入图片描述
选择一个,然后点ok
在这里插入图片描述
最后context为了方便,要设置成/
在这里插入图片描述
然后你的tomcat就配置好了,就可以运行了

5,回顾servlet的demo

在这里插入图片描述
一共是修改了三个部分,
第一个部分是HelloServlet,里边写了如下代码:

package com.czxy.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {

    //全栈 : 后台 + 前端 + 数据库 + 运维
    //前端 : 后台 + 前端
    //python  != 人工智能

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.获取前端参数
        String method =  req.getParameter("method");
        if (method.equals("add")){
            req.getSession().setAttribute("msg","执行了add方法");
        }
        if (method.equals("delete")){
            req.getSession().setAttribute("msg","执行了delete方法");
        }

        //2.调用业务层

        //3.视图转发或者重定向
        req.getRequestDispatcher("/WEB-INF/jsp/test.jsp").forward(req,resp);


    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}

第二个部分是web.xml里边写了如下代码

<?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">
    <!--写过的页面一定要在这里注册-->
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.czxy.servlet.HelloServlet</servlet-class>
    </servlet>

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

<!--    设置session超时时间 单位是分钟,比如下面就是15分钟超时-->
<!--    <session-config>-->
<!--        <session-timeout>15</session-timeout>-->
<!--    </session-config>-->


<!--    配置欢迎页面-->
<!--    <welcome-file-list>-->
<!--        <welcome-file>index.jsp</welcome-file>-->
<!--    </welcome-file-list>  -->

</web-app>

第三个部分是test.jsp,里边是如下内容:

<%--
  Created by IntelliJ IDEA.
  User: Admin
  Date: 2020/7/29
  Time: 22:38
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

${msg}


</body>
</html>

你们如果不嫌麻烦,按照我截的图创建文件,复制部分代码,改吧改吧,就能跑出来了。
通过业务逻辑,分别输入下面的地址,即可看到效果
http://localhost:8080/hello?method=add
在这里插入图片描述
http://localhost:8080/hello?method=delete
在这里插入图片描述

然后就总结完了,其中还将到了学习springmvc最好参考官方文档,这里我贴出官方文档的地址

https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc

ok,springmvc的第一次笔记总结就到这里了。

等等,最后补充一下,子模块和父模块的dependency版本不能有冲突。
最后是父模块的pom文件的dependency如下(跟原版视频同款pom):

    <!--    导入依赖-->

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </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>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>


        
        
    </dependencies>
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐