版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hpuxiaofang/article/details/82693093
配置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_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cn.itcast.Servlet.servlet_demo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/servlet_demo1</url-pattern>
</servlet-mapping>
</web-app>
Servlet执行原理:
(1)TOMCAT启动时,加载web.xml文件
(2)客户端在地址栏输入URL地址访问servlet,例如为:servletDemo
(3)TOMCAT解析XML,得到url-pattern文本内容为/servletDemo
(4)根据URL-PATTERN得到对应的servlet-mapping里的servlet-name值
(5)再根据servlet-name的值找到对应的serlvet标签下的servlet-name的值对应.
(6)根据servlet-name找到servlet标签下的servlet-class的值
(7)通过反射技术加载servlet-class下对应的类的实例
(8)执行相关的方法
Servlet入门:
package cn.itcast.Servlet;
import javax.servlet.*;
import java.io.IOException;
/**
* Servlet快速入门
*/
public class servlet_demo1 implements Servlet{
/**
* 初始化方法
* 在servlet被创建时,执行,一次。
* @param servletConfig
* @throws ServletException
*/
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
/**
* 获取ServletConfig对象
* ServletConfig:servlet的配置对象
* @return
*/
@Override
public ServletConfig getServletConfig() {
return null;
}
/**
* 提供服务的方法
* 在每一次servlet被访问时,执行。多次
* @param servletRequest
* @param servletResponse
* @throws ServletException
* @throws IOException
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("hello,servlet");
}
/**
* 获取servlet的一些信息、版本
* @return
*/
@Override
public String getServletInfo() {
return null;
}
/**
* 销毁方法
* 服务器正常关闭的时候,执行,一次
*/
@Override
public void destroy() {
}
}
Servlet生命周期方法:
(1) 构造方法:用来创建servlet实例,默认是在第一次访问servlet时创建类的实例并初始化.可以通过配置load-on-startup来改变启载加载。设置的数字就是加载的优先级。如果是负数,在第一次访问时加载。
(2)init方法:初始化方法
(3)service方法:服务方法.每次访问servlet都会执行.
(4)destory方法:释放资源----销毁实例.
(5)getServletConfig方法:获取servlet的配置对象
(6)getServletInfo方法:获取一些servlet的版本、信息