读书笔记-JSP

1.    JSP注释: <%-- 文字 --%>

       HTML注释:<!--文字 -->

       HTML注释可以在源代码中查看到,但JSP的注释无法在源代码中查看到,说明JSP注释不会被发送到客户端。


2.    JSP声明中定义的变量和方法会转换成Servlet的成员变量和成员方法,因此可以用static,private,public修饰

       (<%!声明部分%>)

       JSP脚本中定义的变量会转换成Servlet的_jspService方法中的局部变量,所以不能用修饰符。因为方法中不能再        定义方法,所以JSP脚本中不能定义方法。

       (<%脚本%>) 


3.    JSP的三个编译指令:page,include,taglib

       JSP的七个动作指令: jsp:forward     jsp:param         jsp:include

                                           jsp:plugin       jsp:useBean      jsp:setProperty

                                           jsp:getProperty

      编译指令和动作指令的区别:

      ⑴  编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作

      ⑵  编译指令在JSP编译成Servlet时起作用,而处理指令通常可替换成JSP脚本,它只是JSP脚本的标准化写法


4.    静态导入和动态导入的区别:

       静态导入:<% @include file=”xxx.jsp” %>

       动态导入:<jsp: include page=”xxx.jsp”/>

      ⑴  静态导入是将被导入页面的代码完全融入,两个页面融合成一个Servlet,动态导入是在Servlet中使用include         方法引入被导入页面。

      ⑵  静态导入时被导入页面的编译指令会起作用,所以如果导入的页面编译指令和原页面不同一,会发生冲突。动       态导入时被导入页面的编译指令不会起作用,只是插入被导入页面的body。

      ⑶  动态包含可以增加额外的参数。


5.    JSP内置对象的实质是_jspService()方法的形参,或者是_jspService()方法的局部变量,所以直接在JSP脚本中就        可以调用这些对象,因为脚本对应于Servlet的_jspService()方法部分。

 

JSP的9个内置对象:

①  application对象:对于整个web应用有效

作用:

⑴  让多个JSP,Servlet之间共享数据

       application.setAttribute(Stringname,String value);

       application.getAttribute(Stringname);

⑵  获得web应用配置参数,配置参数需在web.xml中设定

       <context-param>

               <param-name>driver</param-name>

               <param-value>com.mysql.jdbc.Driver</param-value>

       </context-param>

通过application.getInitParameter(“driver”)获得参数的值


②  config对象:用于获取JSP配置信息


③  exception对象:Throwable的实例,exception对象在异常处理页面中才有效,因为JSP脚本和html部分都将转换成_jspService()方法中的执行部分,该部分已经在try块中,所以JSP脚本无需处理异常,但JSP的声明部分仍然需要处理异常。


④  out对象:out对象代表一个页面输出流,通常用于在页面上输出变量值及常量。可用<%=...%>代替,因为<%=...%>本质就是out.write(...);


⑤  pageContext对象:该对象用于访问JSP之间的共享数据,使用pageContext可以访问page,request,session,application范围的变量。

获取指定范围的值:getAttribute(String name,int scope)

scope对应4个值:PageContext.PAGE_SCOPE                      1

                             PageContext.REQUEST_SCOPE               2

                             PageContext.SESSION_SCOPE                 3

                             PageContext.APPLICATION_SCOPE          4

 pageContext还可以用于获取其它内置对象:

 getRequest()------------------------------------request

 getResponse()----------------------------------response

 getServletConfig-------------------------------config

 getServletContext-----------------------------application

 getSession---------------------------------------session


⑥  request对象:用于获取客户端的请求

作用:

⑴  获取请求头/请求参数

⑵  操作request范围的属性:

      setAttribute(String attName,Object attValue)

      getAttribute(String attName)

⑶  执行forward或include:

      getRequestDispatcher(“/xxx.jsp”).include(request,response)

      getRequestDispatcher(“/xxx.jsp”).forward(request,response)


⑦  response对象:用于响应客户端

作用:

⑴  生成非字符响应,如jpeg图片响应

⑵  重定向:response.sendRedirect(“xxx.jsp”)

△response重定向与forward不同,会丢弃所有的请求参数和request范围的属性,因为重定向将生成第二次请求,与前一次请求不在同一个request范围内。

⑶  增加Cookie:  Cookiecookie=new Cookie(“value”,name);

                              cookie.setMaxAge(24*3600);

                              response.addCookie(cookie);

                              Cookie[] cookies=request.getCookies();

                              for(Cookie c:cookies)  {...}

△如果Cookie的值为中文,用java.net.URLEncoder.encode(“x”,”GBK”)编码

                                            用java.net.URLDecoder.decode(value)解码


⑧  session对象:这个对象代表一次会话,即从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开。

      setAttribute(String name,Objectvalue)

      getAttribute(String name)

 

 JSP读书笔记PDF版网盘地址:   http://pan.baidu.com/s/1tmfi2


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值