1.ession内的存放的是对象的引用,所以修改内置对象后,不需要重新放置到session中
2.配置Context初始化参数
<Context-param>
<param-name></paran-name>
<param-value></param-value>
<Context-param>
this.getServletContext().getInitParameter(arg0);
-----------------------------------------------------------------------------------------------------------------
3.配置servlet初始化参数
<init-param>
<param-name></param-name>
<param-value></param-value>
</inti-param>
ServletConfig config=this.getServletConfig();
config.getParameter("");
-----------------------------------------------------------------------------------------------------------------
4配置文件 properties
格式: key=value 其中key不变 value是变化的
例如: #其中"#"为注释
文件 db.properties
username=秦焰培
password=peiaihua
最好放置到/WEB-INF/db.properties
读取属性文件的信息:
/在web应用中,getServletContext().getRealPath表示的
是web工程的根路径,
如:"C:/Program Files/apache-tomcat-6.0.18/webapps/TestURL"
String path=this.getServletContext().getRealPath("");
FileImputSream fi=new FileInputStream(path);
Properties pro=new Properties();
pro.load(fi);
pro.getProperty("key");
String realPath=this.getServletContext().getResourceAsStream("/WEB-INF/db.properties")
表示的也是从根路径开始加载文件:
-----------------------------------------------------------------------------------------------------------------
<!-- 该标签表示服务器启动时,自动创建servlet对象,而且数字越先优先级越高-->
<Load-on-startup>0,1,2,3,....</Load-on-srartup>
-----------------------------------------------------------------------------------------------------------------
servlet通信(communicate):
路径设置:
./表示当前路径
什么不加也表示当前路径
../表示当前路径的上一级路径
../../表示当前路径的上一级路径的上一级路径
-----------------------------------------------------------------------------------------------------------------
/转发与重定向
2
转发:/不是发送新的请求,Request的信息没有丢失
重定向: 发送新的请求,Request的信息丢失
?既然新的请求,表单的信息是否还发送?
3 /的用法:
转发:/ 表示重web应用的根路径开始查找; ./表示当前路径
重定向:/ 表示从web站点路径开始查找(Tomcat的webapp目录)
4访问的资源:
转发:只能访问当前web站点的应用资源,不可以访问外部资源
重定向:能访问当前web,还能访问外部资源.
5访问WEB-INF下的资源
转发:可以访问WEB-INF下的资源
重定向:不可以访问WEB-INF下的资源
6请求次数:
转发:1次
重定向:2次
-----------------------------------------------------------------------------------------------------------------
平时写得servlet单实例,多线程
isThreadSafe="ture|false"
如果为ture
告诉jsp容器,词此jsp网页是否能同时处理多个请求,默认值为true(多线程)
单实例运行,每次客户端向服务器发送请求,服务器不会创建新的servlet实例,使用与已经存在的,不存在时才会创建
注释的区别
jsp注释 JAVA注释 html注释
<%-- --%> <% // %> <!-- -->
转为servlet 无 有 有
html 无 无 有
-----------------------------------------------------------------------------------------------------------------
语法:
(2) <%@ include file="relativeURL"%>
细节:
被引入的文件必须遵循JSP语法,其中的内容可以包含静态HTML、JSP脚本元素、JSP指令和JSP行为元素等普通JSP页面所具有的一切内容。
被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspf(JSP fragments)作为静态引入文件的扩展名。
在将JSP文件翻译成Servlet源文件时,JSP引擎将合并被引入的文件与当前JSP页面中的指令元素(设置pageEncoding属性的page指令除外),所以,除了import和pageEncoding属性之外,page指令的其他属性不能在这两个页面中有不同的设置值。
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
page语句作用于整个JSP网页,即作用范围是整个JSP网页,它用于定义JSP网页文件中的全局属性,其中各个选项的意义分别为:
选项 | 说 明 |
language="java" | 用于指定在JSP文档中脚本语言的种类 |
import="package.class" | 用于指定在JSP文档中需要引入的Java包,引入多个包时,中间用“,”相区别 |
extends="class_name" | 在JSP文档中声明新类时指定新类的父类 |
contentType="mineType;charset=value" | 在JSP文档中用于设置MIME类型和解释当前文档使用的字符集 |
session="true|false" | 在JSP文档中设置是否允许使用HTTP Session对象, 默认值为true |
buffer="none|8kb|sizeb" | 设置用于缓存JSP向客户端浏览器输出的缓冲区大小,默认值为8kb |
autoflush="true|false" | 决定输出流的缓冲区是否要自动清除,缓冲区满了会产生异常(Exception)。默认值为true |
isThreadSafe="true|false" | 告诉JSP 容器,此JSP 网页是否能同时处理多个请求。默认值为true(多线程),如果此值设为false, 转义生成的Servlet会实现SingleThreadModel接口。 |
info="text_string" | 用于设置JSP文档的相关信息,使用getServletInfo()方法可以获取该信息 |
errorPage="relativeURL" | 用于设置处理异常错误使用的JSP文档,即建立相关的链接 |
isErrorpage="true|false" | 用于设置是否允许处理网页中出现的异常错误 默认值是false .这是一个转发 |
pageEncoding | 设置字符编码,当pageEncoding和contentType同时存在, pageEncoding 优先 |
注:用error.jsp文件接收异常的时候, 需要关闭:
浏览器---àinteger选项------à高级-----à显示友好http错误信息不选择.,否则浏览器将要拦截.