5月19日 JSP基础

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     无           无        有 

 


 -----------------------------------------------------------------------------------------------------------------

 

 

 include指令
(1  )include指令用于通知JSP引擎在翻译当前JSP页面时将其他文件中的内容合并进当前JSP页面转换成的Servlet源文件中,这种在源文件级别进行引入的方式称之为静态引入,当前JSP页面与静态引入的页面紧密结合为一个Servlet。
语法:


(2)    <%@ include file="relativeURL"%>
(3)
其中的file属性用于指定被引入文件的相对路径。
细节:
被引入的文件必须遵循JSP语法,其中的内容可以包含静态HTML、JSP脚本元素、JSP指令和JSP行为元素等普通JSP页面所具有的一切内容。
被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspf(JSP fragments)作为静态引入文件的扩展名。
在将JSP文件翻译成Servlet源文件时,JSP引擎将合并被引入的文件与当前JSP页面中的指令元素(设置pageEncoding属性的page指令除外),所以,除了import和pageEncoding属性之外,page指令的其他属性不能在这两个页面中有不同的设置值。 
 

---------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------

 

page标准指令
page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。
<%@ page       [language="java"]
            [import="{package.class | package.*},…"]
         [extends="class_name"]
         [contentType="mineType;charset=value"]
         [session="true|false"]
         [buffer="none|8kb|sizeb"]
         [autoflush="true|false"]
         [isThreadSafe="true|false"]
         [info="text_string"]
         [errorPage="relativeURL"]
         [isErrorpage="true|false"]
                         [pageEncoding=charsetName]
%>
8 .<jsp:include>标签与include指令的比较
 
l (1)<jsp:include>标签是在当前JSP页面的执行期间插入被引入资源的输出内容,当前JSP页面与被动态引入的资源是两个彼此独立的执行实体,被动态引入的资源必须是一个能独立被WEB容器调用和执行的资源。include指令只能引入遵循JSP格式的文件,被引入文件与当前JSP文件共同合被翻译成一个Servlet的源文件。
l (2)使用<jsp:include>标签和include指令都可以把一个页面的内容分成多个组件来生成,开发者不必再把页眉和页脚部分的相同HTML代码复制到每个JSP文件中,从而可以更轻松地完成维护工作,但是都应注意最终的输出结果内容应遵循HTML语法结,例如,如果当前页面产生了<html>、</html>、<body>、</body>等标记,那么在被 引入文件中就不能再输出<html>、</html>、<body>、</body>等标记。
l (3)<jsp:include>标签对JSP引擎翻译JSP页面的过程不起作用,它是在JSP页面的执行期间才被调用,因此不会影响两个页面的编译。由于include指令是在JSP引擎翻译JSP页面的过程中被解释处理的,所以它对JSP引擎翻译JSP页面的过程起作用,如果多个JSP页面中都要用到一些相同的声明,那么就可以把这些声明语句放在一个单独的文件中编写,然后在每个JSP页面中使用include指令将那个文件包含进来。
 
ReqestDispatcher rd=request.getRequestDispather(“include.jsp”);
    rd=include(request,response); 功能等价如转发(只是方向相反)

    

---------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------

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

 设置字符编码,pageEncodingcontentType同时存在, pageEncoding 优先

 

:error.jsp文件接收异常的时候, 需要关闭:

浏览器---àinteger选项------à高级-----à显示友好http错误信息不选择.,否则浏览器将要拦截.


       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值