一、演示servlet的生命周期
servlet的生命周期:
1.初始化调用init方法 只会执行一次 自动执行
2.执行 调用service方法,调用几次执行几次 需要手动调用
3.消亡调用destory方法 只会执行一次 自动执行 没啥用,一般是项目停止自动执行。
package com.yyzy.servlet;
import com.yyzy.dao.UserDao;
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;
@WebServlet("/AServlet")
public class AServlet extends HttpServlet {
UserDao ud = null;
@Override
public void init() throws ServletException {
ud = new UserDao();
System.out.println("我被创建了,只会执行一次");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("进来了");
ud.say();
}
@Override
public void destroy() {
System.out.println("我死了");
}
}
二、演示servlet的跳转
servlet的跳转:
1.可以从servlet跳转到另外一个servlet(删除数据之后返回到刷新查询servlet)
2.可以从servlet跳转到前台页面(注册成功返回登录页面)
有两种方式:
1.通过转发跳转
2.通过重定向跳转
转发跳转: 只需1次请求即可完成 效率高 URL地址不会改变 例如从B转发到A URL地址依然是B
重定向跳转: 只需2次请求即可完成 效率低 URL地址会改变 例如从B定向到A URL地址就是A
总结:能用转发就用转发。但是以下情况不推荐:涉及到敏感操作一定不能使用转发,涉及到注册操作.涉及到增删改都推荐使用重定向
备注:超链接本质就是重定向跳转
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="BServlet">通过转发跳转</a><br>
<a href="CServlet">通过重定向跳转</a><br>
</body>
</html>