javaweb学习笔记-servlet02

一、ServletConfig对象

*web.xml中配置参数。用ServletConfig读取:

<servlet>
    <servlet-name>ServletDemo6</servlet-name>
    <servlet-class>cn.gong.servlet.ServletDemo6</servlet-class>
    <!-- 配置后可以在ServletCongfig中读到 -->
    <init-param>
        <param-name>encoding</param-name><!-- 配置参数名 -->
        <param-value>utf-8</param-value><!-- 配置参数值 -->
    </init-param>
</servlet>

*servlet中获取ServletConfig

// 获取ServletConfig对象
ServletConfig config = getServletConfig();
// 获得初始化参数
String encoding = config.getInitParameter("encoding");
// 获得所有初始化参数名
Enumeration k = config.getInitParameterNames();
// 获得Servlet的名字
String servletName = config.getServletName();
// 获得ServeltContext对象
ServletContext context = config.getServletContext();

*servlet中对ServletConfig几个方法的简单调用。 在这几个方法中调用了config对象的相应方法。

getInitParameter("encoding");
getInitParameterNames();
getServletContext();
getServletName();

二、ServletContext对象

*ServletContext对象也可以获取初始化参数。web.xml中的配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <!-- 配置后可以在ServletContext中读到 -->
    <context-param>
        <param-name>student</param-name><!-- 配置参数名 -->
        <param-value>lisi</param-value><!-- 配置参数值 -->
    </context-param>

    <servlet>
        <servlet-name>ServletDemo6</servlet-name>
        <servlet-class>cn.gong.servlet.ServletDemo6</servlet-class>
        <!-- 配置后可以在ServletConfig中读到 -->
        <init-param>
            <param-name>encoding</param-name><!-- 配置参数名 -->
            <param-value>utf-8</param-value><!-- 配置参数值 -->
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>ServletDemo6</servlet-name>
        <url-pattern>/servlet/ServletDemo6</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
//获取ServletContext
ServletContext servletContext = getServletContext();
servletContext.getInitParameter("url");
//请求转发
RequestDispatcher dispatcher = context.getRequestDispatcher("/1.html");
dispatcher.forward(request, response);
ServletContext context = getServletContext();
String realPath = context.getRealPath("WEB-INF/classes/a.txt");
InputStream in = context.getResourceAsStream("WEB-INF/classes/a.txt");

三、设置缓存

response.setDateHeader("expires", System.currentTimeMillis() + 24 * 60* 60 * 1000);

覆写getLastModified方法

@Override
protected long getLastModified(HttpServletRequest req) { String realPath = getServletContext().getRealPath("1.html"); File file=new File(realPath); long lastModified = file.lastModified(); return lastModified; }

 

转载于:https://www.cnblogs.com/90n9/archive/2013/03/19/2968561.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值