学习日常笔记<day12>jsp基础

1.Jsp基础

  1.1Jsp引入

      Servlet的作用:用java语言开发动态资源的技术

      Jsp的作用:用java语言(+html语言)开发动态资源的技术

          jsp就是servlet

  1.2Jsp的特点

      1)jsp的运行必须交给tomcat服务器

        tomcat的work目录:tomcat服务器存放jsp运行时的临时文件

      2)jsp页面既可以写html代码,也可以写java代码

        (html页面不能写java代码,而jsp页面可以写java代码)

  1.3体验jsp页面作用

      需求:显示当前时间到浏览器上

 1 <%@ page language="java" import="java.util.*,java.text.*" pageEncoding="utf-8"%>
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 3 <html>
 4   <head> 
 5     <title>第一个jsp页面</title>  
 6   </head>
 7   <body>
 8     <%
 9         //写java代码
10         //获取当前时间
11         SimpleDateFormat sdf = new SimpleDateFormat();
12         String curDate = sdf.format(new Date());
13         //输出内容到浏览器
14         //response.getWriter().write("");
15         out.write("当前时间为2:"+curDate);
16      %>
17   </body>
18 </html>

  1.4jsp的执行过程

      执行流程       

        1)访问到01.hello.jsp页面,tomcat扫描到jsp文件,在%tomcat%/workjsp文件翻译成java源文件

            (01.hello.jsp   ->   _01_hello_jsp.java) (翻译)

        2tomcat服务器把java源文件编译成class字节码文件 (编译)

            (_01_hello_jsp.java  ->  _01_hello_jsp.class)

        3tomcat服务器构造_01_hello_jsp类对象

        4tomcat服务器调用_01_hello_jsp类里面方法,返回内容显示到浏览器。

 

        注意:

          1jsp文件修改了或jsp的临时文件被删除了,要重新走翻译(1)和编译(2)的过程

  1.5jsp和servlet的关系

      

      jsp翻译的java文件:

 

        public final class _01_hello_jsp extends org.apache.jasper.runtime.HttpJspBase

 

             implements org.apache.jasper.runtime.JspSourceDependent {

 

 

 

      HttpJspBase类:                                              public abstract class org.apache.jasper.runtime.HttpJspBase

           extends javax.servlet.http.HttpServlet implements javax.servlet.jsp.HttpJspPage {

 

 

      结论: Jsp就是一个servlet程序!!!

 

           servlet的技术可以用在jsp程序中

 

           jsp的技术并不是全部适用于servlet程序!

      Servlet的生命周期:

        1)构造方法(第1次访问)

        2)init方法(第1次访问)

        3)service方法

        4)destroy方法

      Jsp的生命周期

        1)翻译: jsp->java文件

        2)编译: java文件->class文件(servlet程序)

        3)构造方法(第1次访问)

        4)init方法(第1次访问):_jspInit()

        5)service方法:_jspService()

        6)destroy方法:_jspDestroy()

2.jsp语法

  2.1jsp模板

      jsp页面中的html代码就是jsp的模板

  2.2jsp表达式

      语法:<%=变量或者表达式%>

      作用:向浏览器输出变量的值或者表达式计算的结果

      注意:

        1)表达式的原理就是翻译成out.print("变量");通过该方法向浏览器写出内容

        2)表达式后面不需要带分号结束

  2.3jsp的脚本

      语法:<%java代码%>

      作用:执行java代码

      注意:原理把脚本中java代码原封不动拷贝到_jspService方法中执行。

  2.4jsp的声明

      语法:<%!变量或方法%>

      作用:声明jsp的变量或方法

      注意:变量翻译成成员变量,方法翻译成成员方法

  2.5jsp的注释

      语法:<%!--  jsp注释  --%>

      注意:html的注释会被翻译和执行,而jsp的注释不能被翻译和执行

3.jsp的三大指令

  3.1include指令

      作用:在当前页面用于包含其他页面

      语法:<%@include file="common/header.jsp"%>

      注意:1)原理是把被包含的页面的内容翻译到包含页面中,合并成翻译一个java源文件,在编译运行,这种包含叫静态包含(源码包含)

         2)如果使用静态包含,被包含页面中不需要出现全局的html标签了。如(html,head,body)

  3.2page指令

      作用:告诉tomcat服务器如何翻译jsp文件

<%@ page 
language="java"   --告诉服务器使用什么动态语言来翻译jsp文件
import="java.util.*" --告诉服务器java文件使用什么包
导入包,多个包之间用逗号分割
pageEncoding="utf-8"  --告诉服务器使用什么编码翻译jsp文件(成java文件)
 contentType="text/html; charset=utf-8" 服务器发送浏览器的数据类型和内容编码
注意:在开发工具中,以后只需要设置pageEncoding即可解决中文乱码问题
errorPage="error.jsp"
isErrorPage="false"
buffer="8kb"
session="true"
isELIgnored="false"
%>

  3.3taglib指令

    

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/liangshandada/p/5453499.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值