JSP

  简称java服务器页面(java server page),jsp和servlet实现了我们的开发需求。对于jsp技术我们首先需要知道他的组成    HTML+java+jsp内置对象=jsp

jsp的产生

    jsp解决了动态页面使用servlet服务器用response向客户端写代码,这样使得java页面写起来特别麻烦,所以产生了jsp。在HTML中嵌套java代码使得servlet的页面更加干净。但是服务器内部会把jsp页面编译成java文件。这个过程交给服务器去完成大大的节约了开发效率。

jsp的运行过程

    服务器启动--------加载jsp到服务器中

    客户端访问服务jsp页面---服务器会把jsp页面转化为java文件 ,服务器使用java文件通过服务器再写回到浏览器

jsp基本语法

1、JSP模版元素

网页的静态内容。如:html标签和文本。

2、JSP的脚本

2.1、小脚本 <% java代码 %>

2.1、表达式 <%= 2+3 %> 等价于out.print(2+3);

2.3、声明   <%! %> 表示在类中定义全局成员,和静态块。

3、JSP注释

JSP注释:<%-- 被注释的内容 --%> 特点:安全,省流量

网页注释:<!-- 网页注释 -->    特点:不安全,费流量

4、3指令

  

<%@ page 属性值=属性值 %>

属性:

1、 import 和java代码中的import是一样的

<%@ page import="java.util.Date,java.util.List"%>

或者:

<%@ page import="java.util.Date"%>

<%@ page import="java.util.List"%>

JSP会自动导入以下的包:

import java.lang.*;

import javax.servlet.*;

import javax.servlet.http.*;

import javax.servlet.jsp.*;

2、 session: 是否会自动创建session对象。默认值是true;

3、 buffer: JSP中有javax.servlet.jsp.JspWriter输出字符流。设置。输出数据的缓存大小,默认是8kb.

4 errorPage: 如果页面中有错误,则跳转到指定的资源。

errorPage="/uri" 如果写“/”则代表当前应用的目录下,绝对路径。

如果不写“/”则代表相对路径。

5、 isErrorPage: 是否创建throwable对象。默认是false;

6、 contextType: 等同于response.setContextType("text/html;charset=utf-8");

7、 pageEncoding: 告诉JSP引擎要翻译的文件使用的编码。

<%@ page  pageEncoding="gbk" %>

8、 isELIgnored: 是否支持EL表达式。 默认是false

5、6动作

<jsp:include > 动态包含
<jsp:forward> 请求转发
<jsp:param> 设置请求参数
<jsp:useBean> 创建一个对象
<jsp:setProperty> 给指定的对象属性赋值
<jsp:getProperty> 取出指定对象的属性值

6、9内置对象

  其中6个内置对象和servlet中的内置对象是一样的

1.request	javax.servlet.http.HttpServletRequest
2.response javax.servlet.http.HttpServletResponse
3.session javax.servlet.http.HttpSession 由session="true"开关
4.application javax.servlet.ServletContext
5.exception java.lang.Throwable 由isErrorPage="false"开关
6.page java.lang.Object当前对象this 当前servlet实例
7.config javax.sevlet.ServletConfit
8.out javax.servlet.jsp.JspWriter 字符输出流,相当于 printWriter对象
9.pageContext javax.servlet.jsp.PageContext

7、4个域对象(主要作用使用来存储值得)

ServletContext   javax.servlet.SerlvetContext
request---javax.servlet.Http.HttpServletRequest
Session---javax.servlet.http.httpsession
pageContext---javax.servlet.jsp.PageContext

  前三个已经在servlet中介绍了

pageContext     javax.servlet.jsp.PageContext

    1. 创建:页面加载时就会创建pageContext对象
    2.      销毁:界面访问完成就会销毁
    3.    写入值:pageContext.setAttribute(String name,Object value);
    4.    读取值:pageContext.getAttrubute(String name);
    5.    作用范围:当前jsp页面

 8:jsp中的EL表达式

    el表达式是为了简化java代码,主要体现在获取值得时候。el表达式是的整个jsp页面更加简洁。使得开发者节约开发时间

  el表达式获取域对象值:

    servletContextScope.name获取ServletContext中名字为name的值

     sessionScope.name获取session中名字为name的值

    requestScope.name获取session中名字为named的值

  特殊获取域对象中的值的方法(findAttribute)

    通过pageContext对象来获取(pageContext.findAttribute(name))。

      实现方式:通过查找的方式进行找域对象中的存储值

      查询顺序:request域---->session域---->servletContext域

    el表达式的内置对象(11个) 

pageContext	javax.servlet.jsp.PageContext	pageContext	一样的
pageScope java.util.Map<String,Object> 没有对应的 pageContext范围中存放的数据,页面范围

requestScope java.util.Map<String,Object> 没有对应的 请求范围数据

sessionScope java.util.Map<String,Object> 没有对应的 会话范围数据

applicationScope java.util.Map<String,Object> 没有对应的 应用范围数据

param java.util.Map<String,String> 没有对应的 一个请求参数

paramValues java.util.Map<String,String[]> 没有对应的 重名请求参数

header java.util.Map<String,String> 没有对应的 一个请求消息头

headerValues java.util.Map<String,String[]> 没有对应的 重名请求消息头

initParam java.util.Map<String,String> 没有对应的 web.xml中全局参数

cookie java.util.Map<String,Cookie> 没有对应的 key:cookie对象的name值

  

      el表达式还可以进行运算,和java中的运算相似 ,el表达式主要是为了获取值使用,对于运算我就不做过多的解释了

    9:jstl  javaServicePage standard tag library java服务器页面标准标签库

主要提供了jsp页面的逻辑处理eg:循环

注意事项:使用时必须进行导包

jstl.jar    jstl标签包
standard.jar 国际化包

  常使用的jstl标签有:

通用标签: set、 out、 remove

条件标签:if  choose

迭带标签:foreach

使用方法  http://www.runoob.com/jsp/jstl-core-out-tag.html;

    

    

    

Servlet组件之 jsp 技术的更多相关文章

  1. Servlet,jsp,JSP技术 ,JSP编程

     一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...

  2. Servlet案例7:jsp技术及案例

    jsp运行原理: 根据jsp文件创建java文件(servlet),并编译运行 第一次访问时会被翻译成servlet后执行 jsp三个指令: 1.page指令:页面翻译运行的属性的配置(通常使用默认) ...

  3. 01 Servlet & Jsp 技术概述

    Servlet 介绍 servlet 是运行在web服务器或应用服务器上的java程序, 它是一个中间层, 负责连接来自web浏览器或其他http客户端的请求和HTTP服务器上的数据库或应用程序. 为 ...

  4. Jsp技术总结

    这节我们总结一下Jsp的相关技术. 1. 什么是JSP JSP即Java Server Pages,它和servlet技术一样,都是sun公司定义的一种用于开发动态web资源的技术.该技术的最大特点在 ...

  5. JSP技术的优缺点介绍

    什么是JSP?JSP可用一种简单易懂的等式表示为:HTML+Java=JSP. JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑. 网页还能通过 ...

  6. 一、动态网络编程的概念 二、Tomcat服务器搭建 三、Servlet组件介绍

    一.动态网络编程的概念 动态网页:结合了HTML以外的高级程序编程语言和数据库技术生成的页面. 动态网页编程技术: ASP,PHP,JSP HTTP协议:规范浏览器和服务器之间通信的数据格式. 浏览器 ...

  7. JavaWeb:JSP技术基础

    JavaWeb:JSP技术 快速开始 介绍 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%> ...

  8. java的JSP技术

    java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...

  9. Java Web之JSP技术

    JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...

随机推荐

  1. NuGet打包,IIS自动发布

    NuGet学习笔记(1)——初识NuGet及快速安装使用 https://kb.cnblogs.com/page/143190/ NuGet学习笔记(2)——使用图形化界面打包自己的类库 https: ...

  2. threejs- z-fighting 问题(模型的重叠部位便不停的闪烁起来。这便是Z-Fighting问题)

    Z-Buffer 在threejs中,使用深度缓冲(Z-Buffer)来完成场景可见性计算,即确定场景哪部分可见,哪部分不可见.深度缓冲(Z-Buffer)是一个二维数组,其中的每一个元素对应屏幕上的 ...

  3. Linux快速安装apache+mysql+php环境

    yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql ph ...

  4. C++ 的虚析构函数

    当一个基类的指针指向一个派生类的对象,并用该基类的指针去删除或者析构派生类对象时,如果基类的析构函数不是声明为虚函数,那么在析构时基类的析构函数将会被直接调用,派生类的析构函数应为没被调用而导致内存泄 ...

  5. ui设计学习路线图分享送给初学者

    本文来源:千锋UI设计 Ui设计师就业市场前景及薪资很可观,而且现在市场上对于ui设计师的人才需求也很大,所以,现在越来越多的人看好这一行业,纷纷投入到ui设计的学习中来,那么想新手想要学好ui设计, ...

  6. 编程学习笔记(第三篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(3)软件开发的现状、UML扩展

    一.软件开发的现状 软件领域正在发生一个巨变,特别是近几年来,软件领域正在发生翻天覆地的变化. 这一变化主要以这个云 + 端大数据, 这些是随着目前最先进的一些技术的产生而产生的. 随着这些新的技术以 ...

  7. [ ZooKeeper]ZooKeeper 的功能和原理

    Zookeeper功能简介: ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现.分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅 ...

  8. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

  9. IPutils

    package com.mmall.util; import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils ...

  10. 20155312 2016-2017-2 《Java程序设计》第八周学习总结

    20155312 2016-2017-2 <Java程序设计>第八周学习总结 课堂内容总结 学习模式 游乐园模式-荒野求生模式 学习方法 以代码为中心->遇到不会的类和方法(参数等) ...