• 1 - SpringMVC


     SpringMVC 是用来干嘛的?

    1、什么是MVC?

    2、SpringMVC

    (1)SpringMVC的介绍

     最核心的:DispatcherServlet 

    (2)SpringMVC的优点

    (3)SpringMVC的实现原理

    创建了一个web项目:(最基本的 servlet + jsp 程序

    运行的时候需要web容器 —— 这里用的是Tomcat

    首先,普通的java项目,并勾选 Web Application (4.0) :

     代码示例:

    首先,在web下WEB-INF下的 web.xml配置文件 中配置servlet:

    (新建的web.xml文件都是继承自容器(这里是Tomcat容器)中的web.xml文件的(conf文件夹下))

    1. "1.0" encoding="UTF-8"?>
    2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    5. version="4.0">
    6. <servlet>
    7. <servlet-name>myservletservlet-name>
    8. <servlet-class>com.zhoulz.controller.MyServletservlet-class>
    9. servlet>
    10. <servlet-mapping>
    11. <servlet-name>myservletservlet-name>
    12. <url-pattern>/myurl-pattern>
    13. servlet-mapping>
    14. web-app>

    然后,index.jsp 文件:

    1. <%--
    2. Created by IntelliJ IDEA.
    3. User: dicfin
    4. Date: 2022/11/9
    5. Time: 17:08
    6. To change this template use File | Settings | File Templates.
    7. --%>
    8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    9. <html>
    10. <head>
    11. <title>$Title$title>
    12. head>
    13. <body>
    14. <%--$END$--%>
    15. <%--本来显示的是 END --%>
    16. ${username}
    17. xiaozhou学java
    18. <%--然后就可以部署启动一下看看--%>
    19. body>
    20. html>

    然后,在controller层下创建了 MyServlet 类,并让其继承了 HttpServlet 类:

    要想继承 HttpServlet 类 ,需要先导入Tomcat下lib下的两个jar包:

    jsp-api.jar

    servlet.api.jar

    1. package com.zhoulz.controller;
    2. import javax.servlet.ServletException;
    3. import javax.servlet.http.HttpServlet;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. import java.io.IOException;
    7. public class MyServlet extends HttpServlet { //这里需要导包 HttpServlet的
    8. @Override
    9. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    10. System.out.println(this.getClass().getName());
    11. //super.doPost(req, resp);
    12. //这里写核心逻辑:
    13. //第一步:获取对应的属性值
    14. //获取当前参数的名称值
    15. String username = req.getParameter("username");
    16. //返回到页面里面
    17. req.getSession().setAttribute("username",username);
    18. //如果上面是全部的业务逻辑了,写完后,然后需要转发到页面中去
    19. //怎么转发
    20. req.getRequestDispatcher("index.jsp").forward(req,resp);
    21. }
    22. @Override
    23. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    24. //super.doGet(req, resp);
    25. this.doPost(req,resp);//get请求也转发到post请求中,做一个最基本的操作
    26. }
    27. }

    注意:要配置Tomcat: —— 进行部署启动:

    点击上方的 Add Configuration —> "+" —> Tomcat Service —> local —> Fix ,然后apply+ok即可,什么都不用配置。

    这里,配置好运行的时候出错了:“Error running tomcat: Can‘t find catalina.jar ”

    解决(换一个Tomcat),参考:

    idea 导入java web项目报错:Error running tomcat: Can‘t find catalina.jar 解决方法_代码稀碎处的博客-CSDN博客

    配置好后,点击运行按钮(正上方),会自动弹出网页:

     然后,在网页上,可以发出请求,在后面添加: my?username=zhangsan,则显示:

    成功运行。 

  • 相关阅读:
    Linux高级编程——线程
    【CSS】H4_基础
    Rust嵌入式编程---#![no_std]和中断处理
    如何基于香橙派AIpro对视频/图像数据进行预处理
    【MYSQL】5.7版本出错 this is incompatible with sql_mode=only_full_group_by
    元宇宙赛道加速破圈,UM Company区块链游戏抓住全球发展新风口
    Python自动化办公篇 - 104 - python实现邮件自动化 - 邮件发送
    从零学算法(LCR 191)
    L1-072 刮刮彩票(Python3)
    Squid代理服务器应用
  • 原文地址:https://blog.csdn.net/zhoulizhengZ/article/details/127773326