Servlet容器模型的相关例题

原理

Web应用程序有严格定义的目录结构,它需要一个称为部署描述文件的文件web.xml来配置。对应用程序的每个Servlet,可以在web.xml中定义若干个初始化参数,然后通过ServletConfig对象获取这些参数。

ServletContext对象表示该应用程序的环境,通过该对象可以获得应用程序范围的初始化参数、容器版本信息、资源的URL、在其中存放共享数据以及登录日志等。

1. 在IDE中建立一个Web应用程序,建立如下所示的目录结构:

|- exp05
 |- webroot
|- html (包含所有的HTML文件)
|- jsp (包含所有的JSP文件)
|- images (包含所有的GIF、JPEG和BMP图象文件)
|- index.html (默认的HTML文件)
|- WEB-INF
    |-classes
   ├ lib
   ├ web.xml
   
图1 exp05应用程序的目录结构

在这里插入图片描述
【步骤1】修改web.xml文件,在其中添加Servlet定义和初始化参数 定义。

<servlet>
   <servlet-name>ConfigDemoServlet</servlet-name>
   <servlet-class>com.demo.ConfigDemoServlet</servlet-class>
   <init-param>
       <param-name>email</param-name>
       <param-value>[email protected]</param-value>
   </init-param>
   <init-param>
       <param-name>telephone</param-name>
       <param-value>8899123</param-value>
   </init-param>
</servlet>
<servlet-mapping>
   <servlet-name>ConfigDemoServlet</servlet-name>
   <url-pattern>/ConfigDemoServlet</url-pattern>
</servlet-mapping> 

【步骤2】编写ConfigDemoServlet程序,读取web.xml文件中该servlet的名称和初始化参数email、telephone,并将这两个参数的值在响应的HTML文本中输出。

package com.demo;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
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;

@WebServlet(name = "ConfigDemoServlet")
public class ConfigDemoServlet extends HttpServlet {
   

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        response.setCharacterEncoding("UTF-8");
        request.setCharacterEncoding("UTF-8");

        //设置网页响应类型
        response.setContentType("text/html");
        //实现具体操作
        PrintWriter out = response.getWriter();

        ServletConfig config = getServletConfig();
        String name = config.getServletName();
        //String name = this.getServletName();
        String email = this.getInitParameter("email");
        String telephone = this.getInitParameter("telephone");

        out.println("<html><body");
        out.println("<br>");
        out.println("select名称:"+name+"<br>");
        out.println("Email地址:"+email+"<br>");
        out.println("电话:"+telephone+"<br>");

        out.println("</body><
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值