当前位置: 首页 > news >正文

做门窗五金的网站androidstudio

做门窗五金的网站,androidstudio,西部数码网站管理助手v4.0,网站重做 影响2019独角兽企业重金招聘Python工程师标准 一、JSP运行原理 每个JSP 页面在第一次被访问时#xff0c;WEB容器都会把请求交给JSP引擎#xff08;即一个Java程序#xff09;去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) #xff0c;然… 2019独角兽企业重金招聘Python工程师标准 一、JSP运行原理   每个JSP 页面在第一次被访问时WEB容器都会把请求交给JSP引擎即一个Java程序去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) 然后按照servlet的调用方式进行调用。  由于JSP第一次访问时会翻译成servlet所以第一次访问通常会比较慢但第二次访问JSP引擎如果发现JSP没有变化就不再翻译而是直接调用所以程序的执行效率不会受到影响。  JSP引擎在调用JSP对应的_jspServlet时会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用特意定义了9个相应的变量开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。 二、认识九个内置对象 NO.内置对象类型1pageContextjavax.servlet.jsp.PageContext2requestjavax.servlet.http.HttpServletRequest3responsejavax.servlet.http.HttpServletResponse4sessionjavax.servlet.http.HttpSession5applicationjavax.servlet.ServletContext6configjavax.servlet.ServletConfig7outjavax.servlet.jsp.JspWriter8pagejava.lang.Object9exceptionjava.lang.Throwable                        requestresponsesessionapplicationconfig这些对象在前面都已经作了详细的介绍这里重点介绍一下剩下的pageContext对象out对象page对象。 三、内置对象使用说明 3.1、page对象   page对象表示当前一个JSP页面可以理解为一个对象本身即把一个JSP当作一个对象来看待。page对象在开发中几乎不用了解一下即可 3.2、out对象   out对象用于向客户端发送文本数据。   out对象是通过调用pageContext对象的getOut方法返回的其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。   JSP页面中的out对象的类型为JspWriterJspWriter相当于一种带缓存功能的PrintWriter设置JSP页面的page指令的buffer属性可以调整它的缓存大小甚至关闭它的缓存。   只有向out对象中写入了内容且满足如下任何一个条件时out对象才去调用ServletResponse.getWriter方法并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中 设置page指令的buffer属性关闭了out对象的缓存功能out对象的缓冲区已满整个JSP页面结束out对象的工作原理图    3.3、pageContext对象   pageContext对象是JSP技术中最重要的一个对象它代表JSP页面的运行环境这个对象不仅封装了对其它8大隐式对象的引用它自身还是一个域对象(容器)可以用来保存数据。并且这个对象还封装了web开发中经常涉及到的一些常用操作例如引入和跳转其它资源、检索其它域对象中的属性等。 3.4、通过pageContext获得其他对象 getException方法返回exception隐式对象 getPage方法返回page隐式对象getRequest方法返回request隐式对象 getResponse方法返回response隐式对象 getServletConfig方法返回config隐式对象getServletContext方法返回application隐式对象getSession方法返回session隐式对象 getOut方法返回out隐式对象3.5、pageContext封装其它8大内置对象的意义   如果在编程过程中把pageContext对象传递给一个普通java对象那么这个java对象将可以获取8大隐式对象此时这个java对象就可以和浏览器交互了此时这个java对象就成为了一个动态web资源了这就是pageContext封装其它8大内置对象的意义把pageContext传递给谁谁就能成为一个动态web资源那么什么情况下需要把pageContext传递给另外一个java类呢什么情况下需要使用这种技术呢在比较正规的开发中jsp页面是不允许出现java代码的如果jsp页面出现了java代码那么就应该想办法把java代码移除掉我们可以开发一个自定义标签来移除jsp页面上的java代码首先围绕自定义标签写一个java类jsp引擎在执行自定义标签的时候就会调用围绕自定义标签写的那个java类在调用java类的时候就会把pageContext对象传递给这个java类由于pageContext对象封装了对其它8大隐式对象的引用因此在这个java类中就可以使用jsp页面中的8大隐式对象(requestresponseconfigapplicationexceptionSessionpageout)了pageContext对象在jsp自定义标签开发中特别重要。 3.6、pageContext作为域对象   pageContext对象可以作为容器来使用因此可以将一些数据存储在pageContext对象中。   pageContext对象的常用方法 1 public void setAttribute(java.lang.String name,java.lang.Object value) 2 public java.lang.Object getAttribute(java.lang.String name) 3 public void removeAttribute(java.lang.String name) 4 public java.lang.Object findAttribute(java.lang.String name)   重点介绍一下findAttribute方法这个方法是用来查找各个域中的属性的查看这个方法的API可以看到关于这个方法的描述  Searches for the named attribute in page, request, session (if valid), and application scope(s) in order and returns the value associated or null.   当要查找某个属性时findAttribute方法按照查找顺序page→request→session→application在这四个对象中去查找只要找到了就返回属性值如果四个对象都没有找到要查找的属性则返回一个null。 范例使用pageContext的findAttribute方法查找属性值 1 %page contentTypetext/html;charsetUTF-8%2 %page importjava.util.*%3 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN4 head5 titlepageContext的findAttribute方法查找属性值/title6 /head7 %8 pageContext.setAttribute(name1, 孤傲苍狼);9 request.setAttribute(name2, 白虎神皇); 10 session.setAttribute(name3, 玄天邪帝); 11 application.setAttribute(name4, 灭世魔尊); 12 % 13 % 14 //使用pageContext的findAttribute方法查找属性由于取得的值为Object类型因此必须使用String强制向下转型转换成String类型 15 //查找name1属性按照顺序page→request→session→application在这四个对象中去查找 16 String refName1 (String)pageContext.findAttribute(name1); 17 String refName2 (String)pageContext.findAttribute(name2); 18 String refName3 (String)pageContext.findAttribute(name3); 19 String refName4 (String)pageContext.findAttribute(name4); 20 String refName5 (String)pageContext.findAttribute(name5);//查找一个不存在的属性 21 % 22 h1pageContext.findAttribute方法查找到的属性值/h1 23 h3pageContext对象的name1属性%refName1%/h3 24 h3request对象的name2属性%refName2%/h3 25 h3session对象的name3属性%refName3%/h3 26 h3application对象的name4属性%refName4%/h3 27 h3查找不存在的name5属性%refName5%/h3 28 hr/ 29 h1使用EL表达式进行输出/h1 30 h3pageContext对象的name1属性${name1}/h3 31 h3request对象的name2属性${name2}/h3 32 h3session对象的name3属性${name3}/h3 33 h3application对象的name4属性${name4}/h3 34 h3不存在的name5属性${name5}/h3 运行结果      EL表达式语句在执行时会调用pageContext.findAttribute方法用标识符为关键字分别从page、request、 session、application四个域中查找相应的对象找到则返回相应对象找不到则返回”” 注意不是null而是空字符串。 pageContext对象中封装了访问其它域的方法 1 public java.lang.Object getAttribute(java.lang.String name,int scope) 2 public void setAttribute(java.lang.String name, java.lang.Object value,int scope) 3 public void removeAttribute(java.lang.String name,int scope) 代表各个域的常量 1 PageContext.APPLICATION_SCOPE 2 PageContext.SESSION_SCOPE 3 PageContext.REQUEST_SCOPE 4 PageContext.PAGE_SCOPE 范例pageContext访问其它域 1 %page contentTypetext/html;charsetUTF-8%2 %page importjava.util.*%3 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN4 head5 titlepageContext访问其它域/title6 /head7 %8 //此时相当于往session对象中存放了一个name属性等价于 session.setAttribute(name,孤傲苍狼);9 pageContext.setAttribute(name,孤傲苍狼,PageContext.SESSION_SCOPE); 10 % 11 % 12 //取得session对象的属性使用pageContext对象获取 13 String refName1 (String)pageContext.getAttribute(name,PageContext.SESSION_SCOPE); 14 //由于取得的值为Object类型因此必须使用String强制向下转型转换成String类型 15 String refName2 (String)session.getAttribute(name); 16 % 17 h1取出存放在session对象中的属性值/h1 18 p第一种做法使用pageContext.getAttribute(attributeName,PageContext.SESSION_SCOPE);去取出session对象中值/p 19 h3姓名%refName1%/h3 20 p第二种做法使用session.getAttribute(attributeName);去取出session对象中值/p 21 h3姓名%refName2%/h3    3.7、PageContext引入和跳转到其他资源   PageContext类中定义了一个forward方法(用来跳转页面)和两个include方法(用来引入页面)来分别简化和替代RequestDispatcher.forward方法和include方法。  方法接收的资源如果以“/”开头 “/”代表当前web应用。 范例使用pageContext的forward方法跳转到其他页面 1 %page contentTypetext/html;charsetUTF-8%2 %page importjava.util.*%3 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN4 head5 title使用pageContext的forward方法跳转页面/title6 /head7 %8 //使用pageContext的forward方法跳转到pageContextDemo05.jsp页面/代表了当前的web应用9 pageContext.forward(/pageContextDemo05.jsp); 10 //使用pageContext.forward(relativeUrlPath)替代RequestDispatcher.forward(relativeUrlPath) 11 //使用RequestDispatcher的forward方法实现的跳转方式 12 //pageContext.getRequest().getRequestDispatcher(/pageContextDemo05.jsp).forward(request, response); 13 % 运行结果如下   1 pageContext.forward(/pageContextDemo05.jsp);   这种写法是用来简化和替代pageContext.getRequest().getRequestDispatcher(/pageContextDemo05.jsp).forward(request, response);这种写法的。在实际开发中使用pageContext.forward(relativeUrlPath)方法跳转页面用得不多主要是因为要在Jsp页面中嵌套java代码所以这种做法简单了解一下即可在开发中要想从一个Jsp页面采用服务器端跳转的方式跳转到另一个Jsp页面那么一般会使用jsp:forward标签jsp:forward标签用于把请求转发给另外一个资源。 范例使用pageContext的include方法引入资源 1 % page languagejava importjava.util.* pageEncodingUTF-8%2 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN3 head4 title使用pageContext的include方法引入资源/title5 /head6 %7 pageContext.include(/jspfragments/head.jsp);8 %9 使用pageContext的include方法引入资源 10 % 11 pageContext.include(/jspfragments/foot.jsp); 12 % 13 hr/ 14 %-- 15 jsp:include page/jspfragments/head.jsp/ 16 使用jsp:include标签引入资源 17 jsp:include page/jspfragments/foot.jsp/ 18 --% 运行结果       在实际开发中使用pageContext的include方法引入页面这种做法也很少用一般都使用jsp:include标签引入资源因此这种做法了解一下即可。 转载于:https://my.oschina.net/u/204616/blog/548940
http://www.pierceye.com/news/692468/

相关文章:

  • wordpress 增强编辑器网站暂时关闭 seo
  • 重庆网站设计开发培训广西省住房和城乡建设厅官网
  • 购物网站模板免费下载网站排名快速提升工具
  • 中山制作网站的公司滨江区网站开发公司
  • 申请建设工作网站的函酒店网站建设方案策划方案
  • 宠物店网站模板你是网站设计有限公司的项目经理
  • 潍坊网站开发公司2018做网站还赚钱吗
  • 做化妆品网站怎样wordpress映射到外网访问
  • 关于加强门户网站建设爱客crm客户管理系统
  • 网站备案的是域名还是空间电子商务网站建设携程
  • 建设企业网站管理系统目的开发一个网站的费用
  • 网站开发和浏览器兼容问题软文广告案例分析
  • 更新网站的方法自贡网站建设哪家好
  • 沈阳网络建网站个人电子商务网站建设的总体目标
  • asp 大型网站开发优化公司治理结构
  • 做外贸 建网站要注意什么ssr网站怎么做
  • 杭州做兼职网站建设老五wordpress
  • 网站建设工资怎么样网站曝光率
  • 亚泰国际建设股份有限公司网站app推广方案模板
  • pathon能做网站开发吗直播网站模板
  • 东莞网站设计网址html怎么添加图片为背景
  • 怎样自己做企业网站网上投诉平台
  • 平价网站建设宝安营销型网站制作
  • 中英网站怎么做seo团队管理系统
  • 做签到的网站上海网站se0优化公司
  • 网站开发技术说明文档网站审核员做点啥
  • 网站设计与网页设计的区别建设部资质查询网站
  • 教育网站制作哪家服务好网站建设运转
  • 山西省轻工建设有限责网站网件路由器无线桥接
  • 做网站 怎么选择公司wordpress lnmp1.4