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() %>
posted @ 2019-06-12 09:49  itwen  阅读(164)  评论(0编辑  收藏  举报