Servlet小练习
Posted zsj03180204
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet小练习相关的知识,希望对你有一定的参考价值。
1、servlet实例什么时候被创建?
:服务器启动时并未创建Servlet实例;当第一次访问的时候,实例才被创建。
小练习:
public class ServletDemo2 implements Servlet /** * Servlet实例被创建后,调用init方法进行初始化 * Servlet什么时候被创建呢? * * 不是服务器一启动时,实例被创建,第一次访问的时候,实例才被创建。 * init方法调用几次呢? * * 只被调用一次。 */ public void init(ServletConfig config) throws ServletException System.out.println("init..."); /** * service调用几次呢? * * 有一次请求,调用一次service方法 */ public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException System.out.println("service..."); /** * Servlet实例什么时候被销毁呢? * * 服务器关闭,手动移除。 * destroy调用几次呢? * * 一次 */ public void destroy() System.out.println("destroy...");
public ServletConfig getServletConfig() return null; public String getServletInfo() return null;
注意:调用service()方法,Tomcat底层源码最终还是调用doGet与doPost等方法
public class ServletDemo5 extends HttpServlet /** * 默认的情况下第一次访问的时候init被调用。 * */ public void init() throws ServletException System.out.println("init..."); // 初始化数据库的链接 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException // 写的内容 // 获取表单输入的内容 // 自己逻辑,通过名称查询数据库,把张三的姓名查到了 // 把张三返回浏览器, //向控制台输出结果 System.out.println("doGet..."); // 向页面输出内容 response.getWriter().write("hello demo5..."); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response);
import java.io.IOException; import java.util.Enumeration; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * ServletConfig对象 * @author Administrator * */ public class ServletDemo6 extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException // 测试ServletConfig对象的api // 先获取ServletConfig对象 ServletConfig config = getServletConfig(); // 获取配置文件中serlvet的名称 System.out.println("servlet的名称:"+config.getServletName()); // 获取初始化的参数 String username = config.getInitParameter("username"); String password = config.getInitParameter("password"); System.out.println(username+" : "+password); // 获取初始化参数的名称们 Enumeration<String> e = config.getInitParameterNames(); while(e.hasMoreElements()) String name = e.nextElement(); String value = config.getInitParameter(name); System.out.println(name+" : "+value); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response);
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- 配置全局初始化参数 --> <context-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </context-param> <servlet> <servlet-name>ServletDemo2</servlet-name> <servlet-class>cn.itcast.servlet.ServletDemo2</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletDemo2</servlet-name> <url-pattern>/demo2</url-pattern> </servlet-mapping> <!-- 使用模板生成的 --> <servlet> <servlet-name>ServletDemo5</servlet-name> <servlet-class>cn.itcast.servlet.ServletDemo5</servlet-class> <!-- 设置优先级 --> <load-on-startup>3</load-on-startup> </servlet> <servlet-mapping> <servlet-name>ServletDemo5</servlet-name> <url-pattern>/demo5</url-pattern> </servlet-mapping> <!-- 演示初始化参数 --> <servlet> <servlet-name>ServletDemo6</servlet-name> <servlet-class>cn.itcast.servlet.ServletDemo6</servlet-class> <!-- 配置初始化参数 --> <init-param> <param-name>username</param-name> <param-value>root</param-value> </init-param> <init-param> <param-name>password</param-name> <param-value>123</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ServletDemo6</servlet-name> <url-pattern>/demo6</url-pattern> </servlet-mapping> <servlet-mapping> </web-app>
以上是关于Servlet小练习的主要内容,如果未能解决你的问题,请参考以下文章