第一个Servlet程序
IDEA创建Web项目
在IDEA中无法直接创建web项目,因此我们通过将java项目改变为web项目的方法来实现。
java项目的创建这里不再过多解释,当我们创建好java项目后,右击选择add这个按钮,如下图
点击后出现如下弹框,按图勾选即可。
完整的web项目结构,如下
配置Tomcat
创建好web项目后,我们还需配置Tomcat否则项目无法启动。
点击该内容,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bFC4k0Pu-1661949681925)(day37-servlet.assets/image-20220831194808462.png)]
在弹出的弹框内找到Tomcat。
注意,我们选择的是
Tomcat Servlet
,不是TomEE Servlet。我们选择的是本地即Local这个选项。
我们在添加本地Tomcat后,对Tomcat进行配置,如下,如果你只有一个Tomcat,该弹框会自动感应,可以省略步骤1、 2,如果你有多个Tomcat版本,可以通过该步骤进行更改,步骤3是将当前项目部署到Tomcat服务器上
编写第一个Servlet程序。
步骤:
1、 编写java类,实现Servlet接口
2 、重写方法
3、 配置web.xml文件
4 、部署项目
5 、启动访问
编写java类,实现Servlet接口
package com.lyc.lesson.servlet;
import javax.servlet.*;
import java.io.IOException;
public class HelloServlet implements Servlet {
}
关于接口类无法自动导包
重写方法
通过快捷键,来快速重写方法。
package com.lyc.lesson.servlet;
import javax.servlet.*;
import java.io.IOException;
public class HelloServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("初始化。。。");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("在这个方法里实现请求。。。");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
配置web.xml文件
找到WEB-INF下的web.xml文件
<?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">
<!--
1. 如何知道能接收哪些请求路径?
2. 如何知道该请求路径找哪个类?
-->
<servlet>
<!-- servlet的名字可以任意,但是我们一般去取servlet类的名称
-->
<servlet-name>HelloServlet</servlet-name>
<!-- servlet的类路径 -->
<servlet-class>com.lyc.lesson.servlet.HelloServlet</servlet-class>
</servlet>
<!--
servlet-mapping作用
通过浏览器的路径,找到名字为name的servlet
-->
<servlet-mapping>
<!-- 是servlet的名字可以任意,但是一般两个<servlet-name>一致 -->
<servlet-name>HelloServlet</servlet-name>
<!-- 浏览器映射路径 -->
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
部署项目
启动访问服务器
项目启动后的初始化页面。
输入对应的url
Servlet程序的执行流程
执行流程:
页面发送请求,到web.xml文件中的标签内的标签去匹配是否有相应的请求,若有该请求,则通过中的name找到相对应的Servlet,再根据路径找到相对应的类,执行其方法。若没有找到,则返回404错误。