init(): tomcat收到了/hello这样的路劲的请求就会调用到HelloServlet,于是就会先对Servlet进行实例化(只会进行一次)之后收到就不会进行实例化了,如果需要在服务器一开启就启动需要改web.xml的配置
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;
//路径和servlet类一一对应
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
public void init() throws ServletException {
//在这里实现自己需要的初始化
System.out.println("init1");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// super.doGet(req, resp);调用父类方法,需要注释掉
System.out.println("hello world");//在控制台打印
//Reader,Writer 为字符流,InputStream OutStream 为字节流
//getWriter()得到一个 writer 对象 属于resp,时往body内写入
resp.getWriter().write("hello javaweb");
}
}
@Override
public void destroy() {
System.out.println("destroy");
}
destroy():当服务器终止的时候会调用
不太推荐destroy,因为不靠谱。
service():每次都会调用。
servlet生命周期:啥时候来的,啥时候没得,什么阶段做什么事情,一个servlet程序有很多servlet,具体的生命周期:
1.开始的时候执行init。
2.每次收到请求执行service。
3.销毁之前执行destroy。
do巴拉巴拉方法
首先在浏览器输入网站即调用doget();方法
剩下的需要调用第三方postman来进行实验
剩下的都可以类似完成,理论上可以,我也不知道为啥
还能用Ajax测试,但还不知道为啥
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;
//路径和servlet类一一对应
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
public void init() throws ServletException {
//在这里实现自己需要的初始化
System.out.println("init1");
}
@Override
public void destroy() {
System.out.println("destroy");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// super.doGet(req, resp);调用父类方法,需要注释掉
System.out.println("doGet");//在控制台打印
//Reader,Writer 为字符流,InputStream OutStream 为字节流
//getWriter()得到一个 writer 对象 属于resp,时往body内写入
resp.getWriter().write("hello javaweb");
}
@Override
protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doDelete");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPost");
}
@Override
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPut");
}
}