1.cmd中如何导入jar包
set classpath=%classpath%;d:/servlet-api.jar
2.命令窗口编译带包的程序
javac -d . FirstServer.java
javac(空格)-d(空格).(空格)FirstServer.java
3.同一个servlet可以被映射到多个url地址上
4.如果没有为servlet注册和配置,web容器就会调用缺省的
servlet,比如我们的静态页面html,都是由容器的缺省servlet
调用的,里面设置了很多头信息,可以判断我们访问的静态资源到
底是什么类型的
5.ServletConfig-->servlet的一些配置信息封装成对象即为
ServletConfig
6.FileReader reader = new FileReader(String path);
路径问题
一般我们都会写相对路径(写绝对路径的话限制死了)
这个相对路径到底是相对的谁
说到底都是相对于java虚拟机的路径
JVM在哪启动,相对的就是哪
如果是web工程呢?
我们知道先是启动tomcat,然后再去执行servlet里的程序
那么我们就知道了调用JVM的路径就是在tomcat启动目录(bin目
录)
用java.io包里面的对象去处理文件时,如果采用了相对路径,
JVM在哪个目录下启动的,那么文件就相对于那个目录
2种加载文件的方式
类加载器
首先得到类加载器,然后掉用getResourceAsStream方法载入文
件,得到相关流
servletContext
同样,ServletContext对象中也有此类方法
以上2种方式一般都采用类加载来读取文件,当然前提是此文件时
在类目录里,也就是在classpath所对应的目录里
利用servletContext的话可以再在web应用下的任何位置的文件
,当然也可以加载类路径下的,但类路径下的最好采用类加载器的
方式来处理
7.利用servletContext共享的原理,先将servlet的数据set到
servletContext中,然后转发到jsp页面,在jsp页面取出servlet
的数据,getAttribute(String name)
8.关于浏览器缓存
我们可以在响应头中加入信息头
response.setDateHeader("expires", 数字);
如果为0或1,则明确告诉浏览器不要缓存,如果为其他数字,则告
诉浏览器缓存多长时间
这个缓存跟cookie和session是有区别的
这个缓存压根就不访问服务器,客户端先访问本地缓存