`
fhdking
  • 浏览: 6318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 培训日记

阅读更多
一、servlet的service()方法
回顾Servlet的生命周期,通过查看源代码了解init()及service()方法的设计思想;
问:
(1)我们在编写Servlet类时,为什么不覆盖它的service()方法,通常覆盖doGet()之类的方法?
如果用覆盖servlet的service()方法,那么servlet在处理表单提交时,就会去调用父类的service方法,父类的service方法会根据提交的方式做出判断,然后调用对应的doXX()方法。如果是覆盖doGet()之类的方法,servlet就会根据提交的方式直接调用相应的doXX()方法。
(2)如果要覆盖service()方法,通常会覆盖下列方法中的哪一个方法?
service(HttpServletRequest req, HttpServletResponse resp)
service(ServletRequest req, ServletResponse res)

二、浏览器缓存内幕及解决方案
在下面三种不同的情况下,浏览器的缓存情况不同:
1).Servlet没有覆盖getLastModified方法,响应消息中无LastModified头字段,在浏览器缓存的文档无“上次修改时间”.   
2).有getLastModified方法,响应消息中有LastModified头字段,但返回时间晚于缓存文档“上次修改时间”    
3).有getLastModified方法,响应消息中有LastModified头字段,但返回时间早于等于缓存文档“上次修改时间”   
  后退、前进、转到(手工输入后按回车)    通过超链接访问      刷新
     1)不发请求,直接使用缓存              发出请求           发出请求
     2)不发请求,直接使用缓存              不发请求           发出请求,返回200
     3)不发请求,直接使用缓存               不发请求           发出请求,返回304
2、如何禁止Servlet的缓存?(张老师JavaWeb书第236页)
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
3、如何禁止JSP页面的缓存?
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">

4、如何禁止静态页面的缓存?(张老师JavaWeb书第238页)
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
静态页面被禁止后,刷新浏览器返回304
JSP页面被禁止后,刷新浏览器返回200
三、初始化参数
1、相对于单个Servlet:P178
在web.xml文件中配置
  <servlet>
    <servlet-name>ReadInitParam</servlet-name>
    <servlet-class>servlet.ReadInitParam</servlet-class>
    <init-param>
    <param-name>dbname</param-name>
    <param-value>mysql</param-value>
    </init-param>
  </servlet>
访问方法为:
getServletConfig().getInitParameter("keyname")
2、相对于整个Web应用程序:P201
在web.xml文件中配置
<context-param>
<param-name>company</param-name>
<param-value>itcast.cn</param-value>
</context-param>
访问方法为:
getServletContext().getInitParameter("keyname")

四、资源文件(.properties)的访问
1、使用Properties类来访问:
Properties prop = new Properties();

//方法一
//InputStream is = new FileInputStream("db.properties");
//db.properties要放在启动tomcat的bin目录中

//方法二
//InputStream is = new FileInputStream(this.getServletContext().getRealPath("/") + "WEB-INF/classes/config/db.properties");
//db.properties可以放在web工程的任意目录

//方法三
//InputStream is = this.getServletContext().getResourceAsStream("WEB-INF/classes/config/db.properties");
//db.properties可以放在web工程的任意目录,相对于工程的上下文路径

//方法四
//InputStream is = this.getClass().getClassLoader().getResourceAsStream("/config/db.properties");
InputStream is = ReadProp.class.getClassLoader().getResourceAsStream("/config/db.properties");
//db.properties只能放在类路径即classes目录中
prop.load(is);
is.close();
//读取key对应的value
prop.getProperty("keyname")

2、使用ResourceBundle类来访问:
//也只能放在类路径下
ResourceBundle rb = ResourceBundle.getBundle("config/db");
//读取key对应的value
rb.getString("keyname")

http://www.itcast.cn
分享到:
评论

相关推荐

    java培训日志

    java培训日志 个人收集

    java培训实习报告

    参加java培训后写的实习报告,里面含有代码,很详细!

    java Web云笔记项目

    在培训机构培训时做的项目,分享一下给大家

    ACCP5.0Y2-电子宠物网站源码SSH和培训案例素材

    用Struts、Hibernate和Spring,...宠物信息察看(含该宠物的日记列表)。 3. 系统登录。 4. 宠物训练。 5. 写宠物日记 首页面 以宠物名称和密码登录。登录后才可对宠物进行训练,写宠物日记,否则只能查看。 宠物排行

    java安卓仿微信聊天软件源码-ztd328423.github.io:个人博客

    日记 《剑指offer》Java版代码实现 android资料总结 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++ 正在成为史上最全分类 Android 开源大全 android 有很多不错的案例 ...

    MyJournalAlc:这是Andela根据ALC Android基础培训给出的应用程序分配

    MyJournalAlc MyJournalALc是一款安卓应用,可让用户写下自己的想法和感觉,就像写日记一样。 用户可以添加日期并写下他们想要记录的内容。 这是我在ALC培训中学到的东西的非常简单的演示。 这是Andela根据ALC ...

    RunningMate-开源

    RunningMate 是用 Java 编写的跑步者日记。 功能包括营养数据库、培训计划、健康计算器等等!

    2000个小程序精选源码(包含49个行业)

    │ │ 托福资料(完整带Java后台).zip │ │ 校内网小程序.zip │ │ 蒙台梭利幼教.zip │ │ 课程预约.zip │ │ │ ├─新闻资讯(8个) │ │ 今日头条.zip │ │ 会议精灵.zip │ │ 体育新闻.zip │...

    《Google Android开发入门与实战》.pdf

    也适合作为相关培训学校的android培训教材。... 目录 第1章 掀起你的盖头来——初识android. 1 1.1 认识android 1 1.2 android的背景 2 1.2.1 android的历史 2 1.2.2 android的发展 2 1.3 我的...

    Google.Android开发入门与实战

    也适合作为相关培训学校的Android培训教材。 目录 第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android...

Global site tag (gtag.js) - Google Analytics