当前位置:首页 > Java > 正文内容

JavaWeb之JSP入门

flowstone8年前 (2017-09-16)Java520

JSP原理及执行过程

1、流程图分析 JSP流程图

  • 用户发起请求,用户通过浏览器访问jsp页面,浏览器将HTTP协议的请求部分发送到服务端.

  • 服务端获取请求部分,分析请求,发现本次的请求的的是jsp页面,jsp引擎按照内部规定,将jsp页面转换为一个servlet文件,并生成java文件,index_jsp.java, 转换后的java文件中有init,service,destroy方法,在service方法中,将HTML标签原封不动输出到浏览器中,碰到java代码,复制到service方法中


JSP如何出现

如果开发中直接使用servlet对客户端响应,是难以维护的,因为它把html标签全部写到java文件中,更改一个小的部件,就要修改servlet文件.

JSP语法

1.JSP脚本段

1.1 存放定义型的语句

<%! %>

1.2 普通的Java语句

<%  %>

1.3 可以计算出结果的表达式

<%= %>


2.JSP的注释

<%-- JSP的注释 --%>

注意:JSP中实现注释,优先使用JSP注释,效率高,转换为servlet的时候,不需要处理

3.JSP指令

3.1 指令格式

<%@ 指令名称 属性名1=”属性值1” 属性名2=”属性值2”  属性名3=”属性值3” %>


3.2 指令的分类(3个)

page:告诉JSP引擎如何将当前JSP转换为Servlet

  • import=”cn.itcast.domain.Product 导入其他JAVA对象

  • language=”java”: 如果JSP中出现脚本,采用的语言类型,目前仅支持JAVA

  • contentType=”text/html;charset=UTF-8″:告诉浏览器,本次响应内容类型和编码

  • pageEncoding=”UTF-8″ :告诉JSP引擎,当前页面采用的编码格式

  • autoFlush=”true”: 是否自动刷新 buffer=”8kb”: response缓存区大小

  • session=”true”: 如果获取不到sessionid是否创建session

  • errorPage=”error.jsp”: 当前页面发生错误之后,处理错误页面

  • isErrorPage=”true”:当前页面是错误页面 include:包含其它文件

taglib:引用其它的标签库

3.3 内置对象(9个)

  • application

  • config

    • JSP相当于servlet可以为servlet配置参数,也可以为JSP配置参数

  • out

    • 2个out不是同一个对象,response对应的out优先级高

    • JSP中默认使用内置的out对象

  • request

  • response

  • session

  • exception

    • 需要将当前页面的page指令下设置isErrorPage=”true”才能使用

    • 作用:开发阶段,通过JSP中获取exception中的信息判断JSP出错异常信息

  • pageContext

    • 获取其它8个内置对象

    • 当作域对象使用

    • 操作其它域对象

    • pageContext.findAttribute(name)

    • pageContext>request>session>application

  • page

    • 代表this(当前访问的servlet) 3.4 JSP域对象

  • pageContext

  • request

  • session

  • application 3.5 JSP动作

<jsp:forward page=""></jsp:forward>
<jsp:include page=""></jsp:include>


扫描二维码推送至手机访问。

版权声明:本文由薛尧的博客发布,如需转载请注明出处。

本文链接:https://flowstone.sourceforge.io/?id=14

分享给朋友:

相关文章

Ehcache缓存简单使用

SPRING整合EHCACHE1.引入坐标pom.xml<!-- ehcache的缓存框架 --> <dependency>     <group...

IntelliJ IDEA技巧一之隐藏.idea目录

问题场景通过IntelliJ IDEA软件创建Java Web项目时,项目目录中总会生成.idea配置目录并在软件界面里显示,影响项目美感,如何在软件界面中隐藏.idea目录呢?解决方法打开IDEA软件的设置(Mac是Preferences...

Spring Cloud入门教程一之Eureka Server

项目环境MacOSJDK1.8IntelliJ IDEA 2018.2Maven 3.5.4创建项目采用Spring Initializr创建项目选择Cloud Discovery->Eureka Discovery->项目名称...

Java编程思想学习总结一(一切都是对象)

存储位置寄存器堆栈 存储对象引用,堆栈指针向下移动,分配新的内存,向上移动,释放内存堆 存储Java对象常量存储 存储常量值非RAM存储 存储流对象和持久化对象基本类型所占存储空间基本类型大小包装器类型默认值boolean16bitBool...

Java多线程-程序运行堆栈分析

class文件内容class文件包含JAVA程序执行的字节码;数据严格按照格式紧凑排列在class文件中的二进制流,中间无任何分隔符;文件开头有一个0xcafebabe(16进制)特殊的一个标志。JVM运行时数据区线程独占:每个线程都会有它...

Java多线程-线程状态

线程状态6个状态定义:java.lang.Thread.StateNew: 尚未启动的线程的线程状态。Runnable: 可运行线程的线程状态,等待CPU调度。Blocked: 线程阻塞等待监视器锁定的线程状态。处于synchronized...