2014年410月22日笔记

jsp中的application对象,等同于servlet中的servletContext对象。

JSP生成的servlet,不会调用doGet()或者doPost()方法,而是会调用,_jspService()方法。

servlet不能使用相对路径,因为servlet使用的为映射机制。

进一步理解:

JSP scriplet代码是直接插入到_jspService方法中,不需字符串,不用print语句,不需任何更改。表达式则直接在print()中输出,常规HTML标签在println()中加引号后输出。


scriplet使用时应注意

<body bgcolor="<%= request.getParameter("bgcolor“)%>

上述用法违背了表单数据的主要原则:总是检查缺失和异常数据。

应该为如下格式:

<%

String bgcolot = request.getParameter("bgcolor");

if(bgcolor == null|| (bgcolor.trim().equals("")){
bgcolor = "white";

}

<body bgcolor="<%= bgcolor %>"/>

3、_jspService()方法由service()方法进行调用

4、JSP使用声明不应该覆盖servlet中的doGet、doPost、service方法,对service方法的调用会自动分配给_jspservice。但对于初始化和清理工作,可以使用_jspInit和jspDestory方法,由JSP转换而成的servlet中,标准的init和destory方法会带哦用这两个方法。

5、JSP中的生命,放置在转换的servlet中_jspservice()方法之外的位置上,即为单独的声明位置。

6、注意:核心方法使用单独的Java类而非JSP声明来定义绝大多数的方法。只是在JSP中声明实例变量会有一定的优势。

7、客户对同一个servlet的多个请求回撤那回事呢多个线程,每一个线程都调用单一servlet实例的service方法。

8、只要会话对象的值是serializable,那么它就能自动跨分布式应用共享。

9、理解servlet中的service方法,不管表单提交的为post还是get方法,都提交至service方法,然后由service方法进行选择调用。因此,我们一般情况下,不去覆写service方法,而是直接覆写doget或者dopost方法。

10、JSP中的8个隐含对象,实际为JSP转换为servlet后_jspservice()方法中的8个局部变量,因此,如果写的代码的位置不在_jspservice中,则不能使用它们,即在声明中不能使用,在JSP调用的实用工具类中也不能调用。

11、response对象,在JSP中是可以在JSP页面的主体内设置HTTP状态码和响应报头的,因为有缓冲的存在,这里与servlet区别,servlet是不能在有输出送往客户的情况下,设置报头和响应代码的。当然,在将缓冲关闭的情况下JSP也是不允许的。

12、JSP中的application对象为servletContext,servletContext对象中存储的为持久性的数据,即为web应用中所有的servlet和JSP页面所共享,而实例变量只是由存储数据的单一的servlet使用。

13、pageContext类,通过它可以访问与当前页面相关的许多属性,pageContext类中含有getRequest()、getResponse()、getSession()方法,用途:如果方法或构造函数需要访问多个与页面相关的对象,传递pageContext要比传递多个对request、response的独立引用好。

14、实例变量存储持久化数据,因此在JSP声明中,生成实例变量是这种持久化数据的自然选择。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值