1 - SpringMVC简单介绍与使用 - 简单的web项目+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文件夹下))

<?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>myservlet</servlet-name>
        <!--指定类的名称-->
        <servlet-class>com.zhoulz.controller.MyServlet</servlet-class>
    </servlet>

    <!--然后,还需要加上映射-->
    <servlet-mapping>
        <servlet-name>myservlet</servlet-name>
        <url-pattern>/my</url-pattern>
    </servlet-mapping>

    <!--然后,页面就要进行数据回显了,见index.jsp文件-->
    
</web-app>

然后,index.jsp 文件:

<%--
  Created by IntelliJ IDEA.
  User: dicfin
  Date: 2022/11/9
  Time: 17:08
  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>
  <%--$END$--%>
  <%--本来显示的是 END --%>
  ${username}
  xiaozhou学java
  <%--然后就可以部署启动一下看看--%>
  </body>
</html>

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

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

jsp-api.jar

servlet.api.jar

package com.zhoulz.controller;


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 MyServlet extends HttpServlet { //这里需要导包 HttpServlet的

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println(this.getClass().getName());
        //super.doPost(req, resp);
        //这里写核心逻辑:

        //第一步:获取对应的属性值
        //获取当前参数的名称值
        String username = req.getParameter("username");
        //返回到页面里面
        req.getSession().setAttribute("username",username);

        //如果上面是全部的业务逻辑了,写完后,然后需要转发到页面中去
        //怎么转发
        req.getRequestDispatcher("index.jsp").forward(req,resp);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //super.doGet(req, resp);
        this.doPost(req,resp);//get请求也转发到post请求中,做一个最基本的操作
    }
}

注意:要配置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,则显示:

成功运行。 

1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 增加http工具类,demo例子 1.0.8 socket工具类,权限组件,菜单组件,jdbc分页支持多种数据库,ant路径工具类,增加jquery easyUI 1.0.9 版本管理,服务根路径工具类,文件上传工具类 1.0.10 集成ueditor在线编辑器 1.0.11 地址联动 1.0.12 Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 zookeeper工具类优化 增加工具类 1.0.16 页面html标志修改 httpclient中文支持 工具类增强(zip,reflect,thread) 1.0.17 ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 首页修改 dateformat.js 时间参数转换 SpringMVC配置文件集中 快递参数接口 1.1.4 des加解密字符串和文件 1.1.5 redis 加锁,redis升级成2.8.2 freemarker工具类 1.1.6 spring websocket 实现在线聊天 maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 rabbitMQ集成 视频截图 图片缩略图旋转 集成Mybatis 使用数据库连接池druid dubbo使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值