zoukankan      html  css  js  c++  java
  • JSP

    JSP (Java Server Pages)
      由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件 JSP页面的扩展名必须为.jsp
      1:在HTML中嵌入Java脚本代码
      2:由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码
      3:然后将生成的整个页面信息返回给客户端
       
       
      Servlet的缺陷
      Servlet的编码、部署和调试任务繁琐
      生成动态网页繁琐,不利于项目分工
      采用JSP技术编写动态页面
      由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件
      JSP页面的扩展名必须为.jsp
       
      Web容器第一次接收到对某个JSP页面的请求后,首先自动将该JSP页面翻译为Servlet代码
      在JSP生命周期中,整个翻译和编译步骤只发生一次
      Web容器第一次接收到对某个JSP页面的请求后,首先自动将该JSP页面翻译为Servlet代码
      HelloWord.jsp----HelloWord_jsp.java
       
      Web容器负责将Servlet代码编译为字节码。与源文件放在同一个目录下
       
      Web容器装载新生成的servlet类
      Web容器创建servlet实例
      Web容器调用Servlet示例的jspInit()方法,JSP页面装载资源
      容器创建一个新线程来处理这个客户的请求
      servlet对象的_jspService()方法运行
      容器调用生成的servlet对象的jspDestroy()方法,销毁装载的资源
       
       
      生命周期
      由JSP引擎将JSP页面翻译成JAVA代码
      将JAVA代码编译成class字节码文件
      加载到容器
      由容器实例化成对象
       
       
       
       
       
      jsp页面元素包括:
      静态html
      指令<%@ %>--这样
      表达式<%= 表达式%>
      脚本<%java code%>
      申明<%!java function%>
      注释<!--注释语句-->
       
       
      案例1
      查看page指令--jsp中查看
      在jsp中使用小脚本
      案例1:
      <%
      for(int i=0;i<10;i++){
      out.print("<h1>"+i+"</h1>");
      }
      %>
      在jsp中使用表达式
      <%
      for(int i=0;i<10;i++){
      %>
      <h1 style="color: red"><%=i %></h1>
      <%
      }
      %>
      在jsp中申明方法,在后边调用
       
      在JSP中,有三种类型的指令
      page指令为当前页面提供处理指令
      include指令用于把另一个文件包含在JSP中
      taglib指令指定如何包含和访问自定义标签库
       
      1:
      page指令
      通过设置内部的多个属性来定义整个页面的属性
      语法:<%@ page 属性1="属性值" 属性2="属性值1,属性值2"… 属性n="属性值n"%>
       
      常用属性:
      language
      import
      contentType
      注意它的session属性
      注意:isErrorPage 和errorPage的使用以及webxml中的使用
       
      2:
      include指令表示在JSP编译时插入一个包含文本或者代码的文件
      把文件中的文本静态地包含过去
       
      案例:演示包含jsp文件
       
      taglib以后再讲
       
      5、九大内置对象:
      四个作用域:
      pageContext 页面上下文对象,此对象封装了其他对象的获取方式,当前页(了解)
      request 其实就是请求对象,使用方式和Servlet一致
      session 其实就是session对象
      application 其实就是ServletContext对象
      两个输出:
      out 输出对象
      response 输出对象,比resp对象多了缓冲区,效率提高
      三个打酱油:
      page 代表被页面对象
      config ServletConfig
      exception 异常对象,摒弃了
       
       
      测试配置参数serlvetConfig--配置文件的使用
       
      pageContext的使用
       
       
      访问范围大小
      pageContext<request<session<ServletContext
       
      活动元素
      转发
      <jsp:forward page=""/>--跳转标签
       
      <jsp:include page="localURL" flush="true" >
      <jsp:param name="aaa" value="ff"/>
      </jsp:include>
       
       
      包含页面
      <jsp:include page="index.jsp"> --包含标签(注意和前边的区别)
      <jsp:param name="pwd" value="admin" />(这里注意Parameter)
      </jsp:include>
       
       
      在指定的范围绑订一个对象
      scope范围pageContext,request,session,servletContext
      <jsp:useBean id="user" scope="request" class="com.pojo.User"></jsp:useBean>
       
       
      依据请求参数给属性赋值。
      jsp:setProperty
       
      <jsp:useBean id="user" class="com.pojo.User"></jsp:useBean>
      <jsp:setProperty property="name" value="zhangsan" name="user"/>
      <jsp:setProperty property="age" value="18" name="user"/>
       
      <%=user.getName() %>
  • 相关阅读:
    76、HTTP如何禁用缓存?如何确认缓存?
    多态与多态性,鸭子类型,内置方法,反射,异常处理
    继承的应用,继承实现原理,super(),多继承的代码规范,组合
    类的装饰器,绑定方法与非绑定方法,继承,继承背景下的属性查找
    面向对象,类与对象,__nit__方法,属性查找,隐藏属性
    xml模块、hashlib模块、subprocess模块、os与sys模块、configparser模块
    模块:re,json,pickle,time , datetime,random,猴子补丁
    区分py文件的两种用途,包的介绍和使用,日志模块
    模块的概念、使用,搜索路径与优先级,软件开发的目录规范
    三元表达式,列表、字典、集合生成式,生成器表达式,函数递归,匿名函数,面向过程编程
  • 原文地址:https://www.cnblogs.com/javawen/p/11007832.html
Copyright © 2011-2022 走看看