快速入门
创建maven web项目,导入Servlet依赖坐标:
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
同时在pom.xml文件里配置tomcat插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- 端口号-->
<port>9090</port>
<!-- 访问路径-->
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
创建一个类,实现Servlet接口,重写方法(service),添加访问路径:
package org.example;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet(value = "/demo1")//访问路径
public class demo1 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Servlet成功访问..");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
如果成功访问Servlet,控制台输出service方法下的信息。
运行并访问路径:
此时控制台输出:
Servlet由Web服务器创建,由Web服务器调用。
生命周期
加载和实例化:默认情况,Servlet第一次被访问,有容器创建Servlet对象;
初始化:实例化之后,容器调用init初始化对象,完成一些配置工作,该方法只使用一次;
请求处理:每次请求Servlet,容器都会调用service方法对请求进行处理;
服务终止:当需要释放内存或容器关闭时,容器会调用service方法完成资源释放。
新建一个类,完成下列方法:
package org.example;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet(value = "/demo2")//访问路径
public class demo2 implements Servlet {
/**
* 初始化方法 默认情况下第一次被访问调用 只调用一次
* @param servletConfig
* @throws ServletException
*/
@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("Servlet成功访问..");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("销毁中..");
}
}
运行服务器..
第一次访问,控制台输出,同时调用service方法:
第二次访问,控制台输出:
这里init方法只调用一次,可以使用
* loadOnStartup:控制次此方法调用的时机
重新启动服务器,控制台输出:
关闭服务器,控制台输出:
XML配置Servlet
Servlet从3.0以后开始支持注解配置,3.0版本只支持XML配置文件的配置方式
编写Servlet类:
package org.example;
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 demo0 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("get..");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("post..");
}
}
在web.xml配置Servlet:
<?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>
<servlet-name>demo0</servlet-name>
<servlet-class>org.example.demo0</servlet-class>
</servlet>
<!-- Servlet访问路径-->
<servlet-mapping>
<servlet-name>demo0</servlet-name>
<url-pattern>/demo0</url-pattern>
</servlet-mapping>
</web-app>
启动tomcat服务器,开启访问:
控制台输出:
文章来源:https://www.toymoban.com/news/detail-401528.html
部分代码:文章来源地址https://www.toymoban.com/news/detail-401528.html
部分代码https://gitee.com/Rkun18/javaweb-demo/tree/master/web-demo
到了这里,关于Servlet基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!