目录
需要知道:
1、Tomcat是什么?
2、Maven
一、认识Servlet
1、Servlet是什么?
2、实现第一个Servlet项目。
3、简单了解Postman工具的使用
maven是帮助开发者构建统一项目(maven项目)的工具,使用它可以是实现jar包的管理,编译和打包项目等操作,解决版本不同的问题。
关键:配置国内的镜像源。
maven是国外开发的,叫做“中央仓库”,每次使用的时候都要去下载很麻烦,reload才是真正去下载,成本高,并且面向所有开发者。做两件事:
(1)做一个本地仓库:当第一次去访问的时候,本地还没有,此时去中央仓库访问,获取jar包并放在本地仓库里面,因此以后访问的时候就去本地访问就行。因此下次访问的时候先去本地找看有没有,有的话直接获取,没有的话就去中央仓库下载放在本地仓库。
(2)将中央仓库配置到国内。镜像网站,将maven的中央仓库从国外拉取到国内,复制一份过来。
1、创建一个maven项目:以我自己的IDEA为例(社区版本2022)
(1)新建项目
(2)创建maven模板
(3)创建的maven模板如下:后续的Servlet项目是在这个基础上进行完善即可。
Servlet是基于HTTP协议的JavaWeb框架,运行在Tomcat中。
Servlet的主要工作:
(1)建立连接:客户端和程序的连接(当用户输入请求URL之后,程序能够感知到用户的请求);
(2)获取用户请求参数:处理Request对象;
(3)将服务器处理结果返回给客户端:返回Respond对象
问题:为什么要使用servlet?
因为现在的代码都是前后端分离的。
前置条件:配置maven国内源。
1、创建Servlet项目的步骤:
(1)创建一个maven项目;
(2)完善maven项目:添加java源代码根文件夹;
重点:
(1) main下的java是蓝色的
(2) resources是带三条线的图标
(3)webapp和java 平级
(4)webapp下有一个WEB-INF目录
(5)WEB-INF下有一个web.xml
(6)test下的java是绿色的
以上几点就是一个标准的maven+web项目(3)添加servlet框架,将项目升级为servlet项目。(在pom.xml文件中添加依赖)
注意:使用provided:在编译和测试时有效,在运行时无效。因为在Tomcat中内置了servlet,运行时会使用tomcat内置的servlet。
2、实现Servlet代码
(1)新建一个普通类;
(2)继承HttpServlet;
(3)注册请求路由(URL):通过注解实现。
(4)重写doGet与doPost方法。
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; //2、注册请求的路由:通过注解实现。就能感知到/hello了。 @WebServlet("/hello") //1、继承HttpServlet public class Demo1_HelloServlet extends HttpServlet { //3、重写doGet或者doPost方法 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取前端给的name参数 String name = req.getParameter("name"); //将结果返回给前端 resp.getWriter().println("name="+name); } }
打包代码放在Tomcat中运行,是个war包。——>放在Tomcat的webapps中,只能放在这个文件夹中。——>启动Tomcat中的start.bat——>在浏览器输入执行代码:
http://localhost:8081/Demo2_Servlet/hello?name=zhangsan
成功!一个简单的Servlet代码就实现了。
PostMan的简单使用
(1)安装好之后,打开页面如下:主要包含三部分:请求地址、请求参数、和响应信息。
(2)Params:在第一部分:请求地址中输入URL地址,Params下方自动添加key值和value值。
(3)Body
(4)Get与Post方法
由于在代码中重写了Get方法,因此可以发现Get方法可以成功显示,但是Post方法不行,显示405错误。
原因是代码里面没有重写doPost方法,因此要支持doPost方法,在代码中重写doPost方法。
然后相同的流程:
(1)打包新程序;
(2)必须先停止tomcat服务:不能直接覆盖原有的war包文件,防止文件没有被覆盖成功。
(3)将新程序的war包放在tomcat/webapps下;
(4)启动tomcat下的start.bat文件;
(5)输入URL地址在浏览器。
上述操作存在一个问题:我每次运行程序都要打包去Tomcat中关掉再打开,非常麻烦,有没有一种比较简单的方式呢?实现IDEA与Tomcat的合并。
社区版本IDEA:安装插件:smart Tomcat
专业版IDEA:忽略此步骤。
(1)在Settings设置中,找到Plugins插件,找到Smart Tomcat插件,点击安装。
(2)找到Run下面的Edit Configurations编辑(不同的IDEA可能页面设置不同,在自己的编辑器里面找到就行)
(3)来到如下页面:主要操作有以下三步