Servlet 基础

什么是Servlet

是运行在Web服务器或应用服务器上的Java程序
在Web上创建动态内容的有效而强大的解决方案
由容器来管理生命周期与Web服务器交互
由Sun规范了其功能  


Servlet规范的组成

Web应用程序
Servlet与HTTPServlet
过滤器
安全
国际化

Servlet编码和部署

import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

第一步:编译

将Servlet类库包含进来的方法
将servlet-api.jar 放置在CLASSPATH中
将servlet-api.jar 放置在 JDK安装目录\jre\lib\ext目录下

第二步:部署Servlet(1)

创建部署描述文件 (web.xml)

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4">
</web-app>

Servlet2.4使用Schema定义web.xml文件中的元素和顺序

第二步:部署Servlet(2)

在容器中注册Servlet



第二步:部署Servlet(3)

映射Servlet

Servlet URL映射路径

精确模式匹配。这种类型的模式用于将请求一对一映射到指定的Servlet。
扩展名匹配“*.扩展名”。在这种情况下,所有以指定扩展名结尾的URL都转向指定的Servlet。
路径映射。路径映射必须以'/'开始,以'/*'结尾,在这之间可以出现任意字符。路径匹配通常用于将对某个目录的所有请求转向一个指定的Servlet。
默认的Servlet,'/'。默认的Servlet映射用于定义一个在没有给出路径信息时请求转向的Servlet。

Servlet生命周期

Servlet与HTTP协议


Servlet配置

为Servlet提供初始化配置信息
配置信息由web.xml声明中的字符串组成

<servlet>

<init-param>
        <param-name>name</param-name>
        <param-value>Tiger</param-value>
    </init-param>
</servlet>

Servlet在编译的代码之外有初始化参数,当参数改变时,不需要重新编译Servlet
每个servlet都有一个与之相联的对象ServletConfig

ServletContext 应用上下文

属于整个Web应用程序
可以访问到Web应用程序资源的本地输入流
把资源的虚拟路径转换为物理路径
记录事件日志
绑定一个对象在整个Web应用程序中共享

ServletContext与ServletConfig的关系

初始化Web应用程序参数

 <web-app>
 …
 <context-param>
     <param-name>admin email</param-name>
   <param-value>admin@lovobook.com</param-value>
  </context-param>

</web-app>

在应用程序级上提供初始化配置,以使所有的Servlet都可以访问

在Servlet中共享信息

为所有的Servlet设置一个实时变化的参数值
在Web应用程序中共享一个对象

servletContext.setAttribute("password", "tiger");
String password = (String) servletContext.getAttribute("password");

虚拟路径转换为物理路径

Web应用程序的所有资源都被抽象到一个虚拟路径上
以根‘/’开始,后面接上Web资源所在子目录的虚拟路径

http://localhost:8080/lovobook/index.html

不能直接使用虚拟路径来获得物理资源的位置

getResourcePaths(java.lang.String path):
getResourceAsStream(java.lang.String path):
getResource(java.lang.String path)


资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值