JavaWeb_day3-JSP基本语法

JSP基本语法

1. JSP:Java Server Pages, 在服务器端运行的,Java动态网页技术标准。
   JSP要以“.jsp”结尾。
   JSP= HTML + Java代码。

2. JSP运行过程:实质上它还是一个Servlet
   客户端请求某一个JSP页面时
         --> Web容器查找这个页面所对应的Servlet实例是否存在
                   1) 不存在:JSP-->web容器把JSP转译成Servlet源文件-->编译成字节码   (Tomcat把它放置在work目录)
                                           -->创建它的一个实例-->响应客户端
                   2) 存在:重用这个实例
                             -->作为一个Servlet对客户端请求做处理,并返回响应
   Servlet是Java代码中输出HTML,JSP是HTML中嵌入Java代码。

3. JSP的基本组成元素:                               作用                                                                    转译成Servlet后
  1)  静态内容:HTML元素                          展示页面内容                                              放置在service()方法中,当作out.write()的字符串参数。
★2) 表达式:<%= java表达式 %>             计算Java表达式的值,并输出在网页中        放置在service()方法中,当作out.print()的对象参数。
★3) 代码片段:<% java代码 %>                用于在JSP页面里嵌入一段Java代码             放置在service()方法中。定义的变量是局部变量。不能定义方法
  4) 声明:<%! 定义成员变量或方法 %>     声明Java的成员变量和方法                         当前Servlet类的成员来看待。
★5) JSP注释:<%-- 被注释的内容 --%>    把某些JSP代码注释掉                                  在JSP转译成Servlet源文件时被忽略。
     区别于HTML注释:<!-- HTML注释 -->  转译时会当前out.write()的参数响应给客户端,只是被浏览器忽略。
  6)JSP指令:<%@指令名 属性="值" %>
   1) <%@ page import="类的全限定名" pageEncoding="字符集" %>
       <%@ page errorPage="错误处理页面" %>
       <%@ page isErrorPage="true" %>
   2) <%@ include file="目标资源路径" %>  在转译期间就把目标资源的内容全部包含到本Servlet源代码中,静态包含。常用于包含静态页面
   3) <%@ taglib uri="标签库描述符文件的标识" prefix="前缀名" %>  导入指定的标签库描述符文件


4. JSP标准动作:<jsp:动作名 属性="值">标签主体</jsp:动作名>
   1) 在页面使用某个JavaBean对象: 
     <jsp:useBean id="存放名" class="类的全限定名"  scope="page|request|session|application"></jsp:useBean> 
     <jsp:setProperty name="存放名" property="属性名" value="值"/>
     <jsp:getProperty name="存放名" property="属性名"/>


   2) 把目标资源的内容包含进来,动态包含。在包含JSP页面的时候用include动作
     <jsp:include page="目标资源路径">
          [<jsp:param name="参数名" value="值"/>]
     </jsp:include>
   
   3) 页面跳转:
      相当于request.getRequestDispatcher("目标资源路径").forward(request,response);
      <jsp:forward page="目标资源路径">
        [<jsp:param name="参数名" value="值"/>]
      </jsp:forward>


5. JSP九大隐式对象
  1) out          就是JspWriter的一个实例,用来向客户端输出字符数据。
  2) request      就是HttpServletRequest的一个实例。也叫请求作用域。
  3) response     是HttpServletResponse的一个实例。
  4) pageContext  页面作用域对象。可以获取所有的隐式对象。
     pageContext.getRequest().getContextPath();  //获取Web应用的根路径名
  5) session      是HttpSession的一个实例。会话作用域。
  6) application  是ServletContext的一个实例。web应用上下文作用域。
  7) config       是ServletConfig的一个实例。没什么用。
  8) page         是当前JSP对应的Servlet的引用(this)。没什么用。
  9) exception    是Throwable的一个实例。只有在<%@ page isErrorPage="true"%>情况才可以使用,代表传递过来的异常对象。


6 JSP页面中的对象存放的四个作用域:
  1) "page": 页面作用域。当前页面可以使用。
  2) "request": 请求作用域。在请求产生到结束之间的Servlet可以使用。
    请求--> servlet1 --> 分派到Servlet2 -->返回响应  (√)
    请求--> servlet1 --> 重定向到Servlet2 -->返回响应 (×)
  3) "session": 会话使用域。某个客户端跟服务器的整个会话过程可以使用。
  4) "application": Web应用上下文作用域。所有的Servlet都可以共享。


7 JSP编程模式:
   Model1: JSP + JavaBean(DAO) --> DB                 项目:Blog
          JSP: 负责显示数据,负责业务流程的控制
          JavaBean: 实体类,负责存储数据
                           DAO类,负责与数据库打交道


   Model2: JSP + Servlet + JavaBean                            项目:在线商城
          JSP:     负责显示数据                      View
          Servlet: 负责业务流程的控制          Controler
          JavaBean: 负责数据的处理             Model


数据从页面--->数据库: java.util.Date --> java.sql.Timestamp 
 new Timestamp(date.getTime());


数据库-->页面: java.sql.Timestamp --> java.util.Date
 new Date(timestamp.getTime());

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值