SpringMVC 是用来干嘛的?
最核心的:DispatcherServlet
运行的时候需要web容器 —— 这里用的是Tomcat
首先,普通的java项目,并勾选 Web Application (4.0) :
代码示例:
首先,在web下WEB-INF下的 web.xml配置文件 中配置servlet:
(新建的web.xml文件都是继承自容器(这里是Tomcat容器)中的web.xml文件的(conf文件夹下))
- "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>myservletservlet-name>
-
- <servlet-class>com.zhoulz.controller.MyServletservlet-class>
- servlet>
-
-
- <servlet-mapping>
- <servlet-name>myservletservlet-name>
- <url-pattern>/myurl-pattern>
- servlet-mapping>
-
-
-
- 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,则显示:
成功运行。