Servlet快速入门
- servlet= server+applet 运行在服务器端的java程序。
- Servlet是一个接口,一个类要想通过浏览器被访问到,那么这个类就必须直接或间接的实现Servlet接口
创建web模块。
编写普通java文件实现Servlet。
public class mainServlet implements Servlet { /* * * */ private ServletConfig servletConfig; // init() servlet对象创建时会调用此方法,初始化 @Override public void init(ServletConfig servletConfig) throws ServletException { this.servletConfig = servletConfig; } @Override public ServletConfig getServletConfig() { return this.servletConfig; } //当用户访问时会调用此方法提供服务 //用户每次访问时都会调用 @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { servletResponse.setContentType("text/html;charset=utf-8"); String encoding = this.servletConfig.getInitParameter("encoding"); servletResponse.setCharacterEncoding(encoding); servletResponse.getWriter().write("你好我叫xz"); } //返回一个介绍信息 @Override public String getServletInfo() { return "servlet主程序"; } //servlet对象销毁时调用此方法 //服务器正常关闭时销毁servlet @Override public void destroy() { } }
<!-- 将此类交给 tomcat管理 servlet-name 当前xml中需要的一个别名(通常为类名) servlet-class 限定为全路径地址(反射技术实现) --> <servlet> <servlet-name>mainServlet</servlet-name> <servlet-class>cn.xz.mainServlet</servlet-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </servlet> <!--
servlet-name:给直接别名的servlet绑定映射
url-pattern:网络地址 注意:必须以 / 开头
--> <servlet-mapping> <servlet-name>mainServlet</servlet-name> <url-pattern>/mainServlet</url-pattern> </servlet-mapping> </web-app>
生命周期:指的是一个对象从生(创建)到死(销毁)的一个过程
// 1.servlet对象创建时,调用此方法 public void init(ServletConfig servletConfig);
1)默认情况下
用户第一次访问时,创建servlet,调用init方法
2)修改创建时机
<load-on-startup></load-on-startup>
正数:4~N,服务器在启动时创建
补充:Tomcat软件全局web.xml里面有1,3创建,这里推荐4~N
负数(默认值):-1,用户第一次访问时创建
// 2.servlet被用户访问时,调用此方法 public void service(ServletRequest servletRequest, ServletResponse servletResponse); // 3.servlet对象销毁时,调用此方法 public void destroy();
// @WebServlet(name = "QuickServlet",urlPatterns = {"/quick","/haha"}) // @WebServlet(urlPatterns = {"/quick","/haha"}) // @WebServlet(value = {"/quick","/haha"}) // @WebServlet({"/quick","/haha"}) @WebServlet("/quick") // 最终简化版... public class QuickServlet extends HttpServlet { }