第一知识点:生命周期:Servlet ServletConfig ===
1:先执行构造方法创建该Servlet的对象
2:再执行init方法加载初始化数据
3:最后执行service方法当前servlet处于运行状态。
总结:多个对象访问service的同时,针对的是同一个对象。
第二个知识点:service第创建过程与分类
一级创建法:使用接口
构造方法(创建Servlet对象的执行)
init方法(加载初始化数据执行)
service方法(所有准备工作完成,servlet处于运行状态,等待浏览器访问)
destroy方法(长时间没有得到浏览器访问或者tomcat服务器强制关闭该servlet执行)
getServletConfig方法(获得Servlet在Web.xml文件中存储的静态数据)
getServletInfo方法
Servlet的使用之前需要进行在web.xml文件中
OneServlet
com.servlet.OneServlet
OneServlet
/abc
二级创建法:public class TwoServlet extends GenericServlet {}
public class ThreeServlet extends HttpServlet{}
采用继承:extends
抽象快捷键alt+/
三级创建法: @WebServlet(urlPatterns="/d")
public class fourServlect extends HttpServlet {
private static final long serialVersionUID = 1L;
//定义一个变量
int countt=0;
String hdrt="L LOVE YOU";
第三知识点get or post
1:get--------------doget
post-------------dopost
2:get,主动输出,没有隐藏功能,运输少量数据。
当浏览器使用get请求给servlet发送数据的时候,数据会显示在地址上。
3: post,被动输出,有隐藏功能,能运输大量数据,数据不会显示在地址上
4 :当浏览器没有明确使用get还是post去访问服务器的时候,默认是get请求
url-pattern详解
第四个知识点
url-pattern地理解 1.完全匹配 必须以"/"开始
例如:/hello /a/b/c
2.目录匹配 必须以"/"开始 以"*"结束
例如:/a
@WebServlet(urlPatterns = "/Servlet3",initParams = {
@WebInitParam(name="aaaa",value="张三"),
})
public class Servlet3 extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet3() {
super();
// TODO Auto-generated constructor stub
}
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
ServletConfig config=getServletConfig();
String a=config.getInitParameter("aaaa");
System.out.println(a);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
public class Servlet1 extends HttpServlet{
package com.Servlet;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class Servlet1 extends HttpServlet{
public Servlet1() {
// TODO Auto-generated constructor stub
}
@Override
public void init(ServletConfig config) throws ServletException {
// web.xml文件的二个静态数据在Servlet被浏览第一次访问,执行init
//方法 web.xml文件为静态数据加载存在
super.init(config);
String a=config.getInitParameter("home");
String b=config.getInitParameter("money");
String c=config.getInitParameter("h");
System.out.println(a+"==========="+b+"899"+c);
//如果有多个静态数据,为避免执行重复的代码
//获得
Enumeration e=config.getInitParameterNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement(); //home money
String value =config.getInitParameter(key); //值一
System.out.println(key+"@@@@"+value);
}
}
}
package com.Servlet;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = "/Servlet2",initParams = {
@WebInitParam(name="aaaa",value="张三"),
@WebInitParam(name="age",value="23"),
@WebInitParam(name="height",value="179cm"),
@WebInitParam(name="weight",value="60kg")
})
public class Servlet2 extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet2() {
super();
// TODO Auto-generated constructor stub
}
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
//定义五个静态数据
ServletConfig config=getServletConfig();
String a=config.getInitParameter("aaaa");
String b=config.getInitParameter("age");
String c=config.getInitParameter("height");
String e=config.getInitParameter("weight");
System.out.println(a+"===="+b+"#######"+c+"-----"+e);
//
String d=config.getInitParameter("money");
System.out.println(d);
System.out.println(e);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
@WebServlet(urlPatterns = "/Servlet2",initParams = {@WebInitParam(name="aaaa",value="张三"),
@WebInitParam(name="age",value="23"),
@WebInitParam(name="height",value="179cm"),
@WebInitParam(name="weight",value="60kg")
})
public class Servlet2 extends HttpServlet {
package com.Servlet;
import java.io.IOException;
import javax.security.auth.login.Configuration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = "/Servlet3",initParams = {
@WebInitParam(name="aaaa",value="张三"),
})
public class Servlet3 extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet3() {
super();
// TODO Auto-generated constructor stub
}
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
ServletConfig config=getServletConfig();
String a=config.getInitParameter("aaaa");
System.out.println(a);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
运行结果
servlect1运行结果
servlect2运行结果
servlect3运行结果



