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,则显示:
成功运行。