//定义servlet 需要继承HttpServlet
public class HelloServlet extends HttpServlet{
第一种方法:使用@WebServlet注解做了一个映射,指向HelloServlet类
@WebServlet(urlPatterns = "/hello",loadOnStartup = 1)
//定义servlet 需要继承HttpServlet
public class HelloServlet extends HttpServlet{
第二种方法:在项目的主web.xml文件下,进行配置,最后也是指向HelloServlet类
另外,在web.xml下helloServlet com.easy.servlet.HelloServlet helloServlet /h
* 当浏览器通过get请求方式访问该servlet会执行doGet方法
* 怎样访问到servlet? 使用@WebServlet注解做了一个映射urlPattern="/hello"
* 浏览器访问到urlPatterns后指定的路径就访问到当前servlet了
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.getWriter().write("doget method");
}
* 通过不同的请求方式访问到不同的方法
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req,resp);
}
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
}
4.1 前端输入账号密码,后端获取信息:
前端:
后端:
String username=req.getParameter("username");
String userpass=req.getParameter("userpass");
resp.getWriter().write("service method "+username+"----"+userpass);
// 通过servlet跳转页面:重定向 转发
// 重定向,可以定位到外部项目,浏览器发送了两次请求
resp.sendRedirect("https://www.baidu.com");
// 转发,只能在本项目内转发,浏览器发送了一个请求,浏览器请求的地址不会发生变化
// 可以访问WEB-INF下受保护的资源
req.getRequestDispatcher("WEB-INF/other.jsp").forward(req, resp);
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 重定向,可以定位到外部项目,浏览器发送了两次请求
resp.sendRedirect("https://www.baidu.com");
// 转发,只能在本项目内转发,浏览器发送了一个请求,浏览器请求的地址不会发生变化
// 可以访问WEB-INF下受保护的资源
req.getRequestDispatcher("WEB-INF/other.jsp").forward(req, resp);
}
五、servlet生命周期
servlet生命周期
1.默认情况下,第一次访问servlet时实例化对象,并且立即执行init方法进行初始化,可以使用loadOnStartup来控制servlet实例化对象的时机,取值越小,优先级越高(优先实例化对象)
2.请求访问servlet,优先执行service方法,service中根据请求方式不同, 分别执行doget和dopost方法
3.当服务器关闭时,会销毁servlet对象,执行destory方法
@WebServlet(urlPatterns = "/hello",loadOnStartup = 1)
public class HelloServlet extends HttpServlet{
public HelloServlet() {
System.out.println("----HelloServlet实例化对象-----");
}
public void init(ServletConfig config) throws ServletException {
System.out.println("----HelloServlet初始化-----");
}
public void destroy() {
System.out.println("----HelloServlet被销毁-----");
}
}



