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页面作用

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

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

  1.4jsp的执行过程

      执行流程       

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

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

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

            (_01_hello_jsp.java  ->  _01_hello_jsp.class)

        3)tomcat服务器构造_01_hello_jsp类对象

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

        注意:

          1)jsp文件修改了或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指令

    

 

学习日常笔记<day12>jsp基础的更多相关文章

  1. 学习日常笔记<day15>mysql基础

    1.数据库入门 1.1数据库软件 数据库:俗称数据的仓库,方便管理数据的软件(或程序) 1.2市面上数据库软件 Oracle,甲骨文公司的产品. 当前最流行应用最广泛的数据库软件.和java语言兼容非 ...

  2. 学习日常笔记<day13>jsp加强

    1.jsp的内置对象(重点) 1.1什么是内置对象? 在jsp开发中,会频繁使用到一些现象 例如HttpSession,ServletContext,ServletContext,HttpServle ...

  3. 学习日常笔记<day17>jdbc基础

    1.jdbc入门 1.1.jdbc定义 使用java代码发送sql语句的技术就是jdbc技术 1.2.使用jdbc发送sql前提 需要登录数据库服务器(数据库的IP地址,端口,数据库用户名,密码) / ...

  4. JSP学习(一)JSP基础语法

    JSP基础语法 1.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素. JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. <%@ page language=&quo ...

  5. Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合

    前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: :声明val变量:可以使用val来声明变 ...

  6. 超全面的JavaWeb笔记day12<Jsp&JavaBean&El表达式>

    1.JSP三大指令 page include taglib 2.9个内置对象 out page pageContext request response session application exc ...

  7. java web学习总结(十五) -------------------JSP基础语法

    任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...

  8. javaweb学习总结(十五)——JSP基础语法

    任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...

  9. java web 学习十五(jsp基础语法)

    任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...

随机推荐

  1. 11gR2新特性---gipc守护进程

    在这篇文章中,我们会对11gR2 新的守护进程gipcd(资源名称ora.gipcd)进行介绍,其中包括gipc的功能,启动顺序和一些基本的测试. 我们知道,对于oracle集群来说,集群私网是非常重 ...

  2. 《少年先疯队》第九次团队作业:Beta冲刺第三天

    3.1 今日完成任务情况 姚玉婷:酒店系统中剩余功能的完善 马丽莎:酒店系统中管理员功能的测试 张   琼:酒店系统中会员功能的测试 孙苗坤:酒店系统中其余管理功能的测试文档的编写 3.2 成员贡献时 ...

  3. linux_2

    mac和linux上默认安装着SSH客户端,Windows上需要自己安装个软件. Windows下SSH客户端的安装:建议从官方网站下载正式程序安装(免费) Putty:https://www.chi ...

  4. spring注解开发-AOP(含原理)

    一:AOP基本使用 AOP指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式: 步骤一:导入aop模块:Spring AOP:(spring-aspects) <depen ...

  5. python入门-PyCharm中目录directory与包package的区别及相关import详解

    一.概念介绍 在介绍目录directory与包package的区别之前,先理解一个概念---模块 模块的定义:本质就是以.py结尾的python文件,模块的目的是为了其他程序进行引用. 目录(Dict ...

  6. 交互式数据可视化-D3.js(四)形状生成器

    使用JavaScript和D3.js实现数据可视化 形状生成器 线段生成器 var linePath = d3.line() - 使用默认的设置构造一个 line 生成器. linePath.x() ...

  7. LeetCode(51) N-Queens

    题目 The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two quee ...

  8. LeetCode(11) Container With Most Water

    题目 Given n non-negative integers a1, a2, -, an, where each represents a point at coordinate (i, ai). ...

  9. 【HIHOCODER 1575】 两个机器人(BFS)

    描述 一个N × M的2D迷宫中有两个机器人.机器人A在迷宫左上角,只能向右或向下移动:机器人B在迷宫右下角,只能向左或向上移动.机器人不能移动到迷宫外.此外,由于奇怪的同步机制,这两个机器人只能同时 ...

  10. Vijos 1308 埃及分数(迭代加深搜索)

    题意: 输入a.b, 求a/b 可以由多少个埃及分数组成. 埃及分数是形如1/a , a是自然数的分数. 如2/3 = 1/2 + 1/6, 但埃及分数中不允许有相同的 ,如不可以2/3 = 1/3 ...