企业网站设计合同/湖北搜索引擎优化
目录
1.快速入门
2.Servlet执行流程
3.Servlet生命周期、方法
4.HttpServlet
通过get访问:直接启动
通过post访问: 提交后访问
根据请求方式完成方法分发的原理:
5.Servlet urlPattern配置
一个Servlet配置多个urlPattern
配置规则
6.XML配置方式编写Servlet(3.0以前的版本)
1.快速入门
2.Servlet执行流程
3.Servlet生命周期、方法
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;@WebServlet(urlPatterns = "/demo2", loadOnStartup = 1)
public class ServletDemo2 implements Servlet {private ServletConfig servletConfig;//设置一个全局变量@Overridepublic ServletConfig getServletConfig() {return servletConfig;//返回全局变量}@Override//对象初始化的方法,只调用一次public void init(ServletConfig servletConfig) throws ServletException {this.servletConfig = servletConfig;//把全局变量作为这个方法的参数传递System.out.println("init");}@Override//提供服务的方法,会多次调用public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("hello servlet");}@Override//销毁的方法public void destroy() {System.out.println("destroy");}@Overridepublic String getServletInfo() {return null;}
}
4.HttpServlet
@WebServlet("/demo3")
public class ServletDemo3 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("get");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("post");}
}
通过get访问:直接启动
通过post访问: 提交后访问
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form action="/web-demo/demo3" method="post"><input name="username"><input type="submit">
</form>
</body>
</html>
根据请求方式完成方法分发的原理:
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;public class MyHttpServlet implements Servlet {@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {//1.获取请求对象HttpServletRequest request = (HttpServletRequest) servletRequest;String method = request.getMethod();//2.判断if ("GET".equals(method)) {//get方法的处理逻辑doGet(servletRequest, servletResponse);} else if ("POST".equals(method)) {//post方法的处理逻辑doPost(servletRequest, servletResponse);}}protected void doGet(ServletRequest servletRequest, ServletResponse servletResponse) {}protected void doPost(ServletRequest servletRequest, ServletResponse servletResponse) {}@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic void destroy() {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic String getServletInfo() {return null;}
}
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;@WebServlet("/demo4")
public class ServletDemo4 extends MyHttpServlet {@Overrideprotected void doGet(ServletRequest servletRequest, ServletResponse servletResponse) {System.out.println("myGet。。。");}@Overrideprotected void doPost(ServletRequest servletRequest, ServletResponse servletResponse) {System.out.println("myPost。。。");}
}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form action="/web-demo/demo4" method="post"><input name="username"><input type="submit">
</form>
</body>
</html>
5.Servlet urlPattern配置
一个Servlet配置多个urlPattern
@WebServlet(urlPatterns = {"/demo5", "/demo6" })
public class ServletDemo5_urlPattern extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("demo5&demo6");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}
}
配置规则
6.XML配置方式编写Servlet(3.0以前的版本)