@WebServlet注解

package test.second;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

/**
 * 属性名                  类型                  描述
 * name                 String                  指定Servlet 的 name 属性,等价于 <servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
 * value                String[]                该属性等价于 urlPatterns 属性。两个属性不能同时使用。
 * urlPatterns          String[]                指定一组 Servlet 的 URL 匹配模式。等价于<url-pattern>标签。
 * loadOnStartup        int                     指定 Servlet 的加载顺序,其值为(0,1,2...),值越小,优先级越高等价于 <load-on-startup>标签。
 * initParams           WebInitParam[]          指定一组 Servlet 初始化参数,等价于<init-param>标签。
 * asyncSupported       boolean                 声明 Servlet 是否支持异步操作模式,等价于<async-supported> 标签。
 * description          String                  该 Servlet 的描述信息,等价于 <description>标签。
 * displayName          String                  该 Servlet 的显示名,通常配合工具使用,等价于 <display-name>标签。
 *
 */

/*
        该注解将servlet设置为:
                名字:             zhujie1
                路径:             /zhujie1
                加载顺序:         1
                初始化:
                        参数1:    name:小黄;
                        参数2:    pwd:18
 */
@WebServlet(name = "zhujie1",
        urlPatterns = "/zhujie1",
        loadOnStartup = 1,
        initParams = {
        @WebInitParam(name = "name",value = "小黄"), @WebInitParam(name = "pwd",value = "18")
        }
        )
public class zhujie1 extends HttpServlet {

        //初始化
        @Override
        public void init(ServletConfig config) throws ServletException {
                super.init(config);
                System.out.println("zhujie1初始化...");
        }

        //doGet
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
                resp.setContentType("text/html");
                resp.setCharacterEncoding("utf-8");
                PrintWriter pw = resp.getWriter();
                pw.append("Hello Servlet!<br>");

                //servletName
                pw.append("servletName"+getServletName()+"<br>");

                //initParam
                ServletConfig servletConfig = this.getServletConfig();
                Enumeration<String> paramNames = servletConfig.getInitParameterNames();
                while (paramNames.hasMoreElements()){
                        String paramName = paramNames.nextElement();
                        pw.append(paramName+":"+servletConfig.getInitParameter(paramName)+"<br>");
                }
                pw.close();
        }

        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
                doGet(req,resp);
        }
}

package test.second;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


/*
        通过 getServletName() 可以获取注解为该servlet指定的servlet名字(String)【此处为zhujie2】
        通过 getInitParameter("name") 可以获取该servlet中参数名为name的值(String)【此处为小黄】
        通过 getInitParameter("age") 可以获取该servlet中参数名为age的值(String)【此处为18】
 */
@WebServlet(name = "zhujie2",
        urlPatterns = "/zhujie2",
        loadOnStartup = 1,
        initParams = {
        @WebInitParam(name = "name",value = "小黄"), @WebInitParam(name = "age",value = "18")
        }
        )
public class zhujie2 extends HttpServlet {
        @Override
        public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
                //通过 getServletName() 可以获取注解为该servlet指定的servlet名字(String)
                System.out.println("ServletName:"+getServletName());
                //通过 getInitParameter("name") 可以获取该servlet中参数名为name的值(String)
                System.out.println("name:"+getInitParameter("name"));
                //通过 getInitParameter("age") 可以获取该servlet中参数名为age的值(String)
                System.out.println("age:"+getInitParameter("age"));
        }
}

package test.second;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;



//在 web.xml 中,书写了与下面注解等效的配置
        /*
        @WebServlet(name = "zhujie3",
        urlPatterns = "/zhujie3",
        loadOnStartup = 1,
        initParams = {
        @WebInitParam(name = "name",value = "小黄"),
        @WebInitParam(name = "age",value = "18")
        }
        )
        */
        //web.xml中的等效配置
        /*<servlet>
        <servlet-name>zhujie3</servlet-name>
        <servlet-class>test.second.zhujie3</servlet-class>
        <init-param>
        <param-name>name</param-name>
        <param-value>小黄</param-value>
        </init-param>
        <init-param>
        <param-name>age</param-name>
        <param-value>18</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
        <servlet-name>zhujie3</servlet-name>
        <url-pattern>/zhujie3</url-pattern>
        </servlet-mapping>*/
public class zhujie3 extends HttpServlet {
        @Override
        public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

                //在控制台输出信息
                //通过 getServletName() 可以获取注解为该servlet指定的servlet名字(String)
                System.out.println("ServletName:"+getServletName());
                //通过 getInitParameter("name") 可以获取该servlet中参数名为name的值(String)
                System.out.println("name:"+getInitParameter("name"));
                //通过 getInitParameter("age") 可以获取该servlet中参数名为age的值(String)
                System.out.println("age:"+getInitParameter("age"));

                //在客户端显示信息
                res.setContentType("text/html;charset=utf-8");
                res.setCharacterEncoding("utf-8");
                PrintWriter out = res.getWriter();
                out.println("ServletName:"+getServletName()+"<br>");
                out.println("name:"+getInitParameter("name")+"<br>");
                out.println("age:"+getInitParameter("age")+"<br>");
        }
}

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
         
    <!-- 创建名字为zhujie3的servlet -->
    <servlet>
        <servlet-name>zhujie3</servlet-name>
        <servlet-class>test.second.zhujie3</servlet-class>
        <init-param>
            <param-name>name</param-name>
            <param-value>小黄</param-value>
        </init-param>
        <init-param>
            <param-name>age</param-name>
            <param-value>18</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>zhujie3</servlet-name>
        <url-pattern>/zhujie3</url-pattern>
    </servlet-mapping>

</web-app>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值