Java-JSP既可以指定定义HTML标签,又可以定义java代码
- 概念:
- Java Server Pages:java服务器端页面
- 可以理解为:一个特殊页面,其中既可以指定定义HTML标签,又可以定义java代码
- 用于简化书写
- 原理:
- JSP本质上就是一个Servlet
- JSP的脚本:JSP定义Java代码的方式
- <% 代码 %>:定义的java代码,在service方法中,service方法中可以定义什么,该脚本就可以定义什么
- <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置
- <%= 代码 %>:定义的java代码,会输出到页面上,输出语句中可以定义什么
- JSP的内置对象
- 在jsp页面中不需要创建和获取,可以直接使用的对象
- jsp一共有9个内置对象
- request
- response
- out:字符输出流对象,可以将数据输出到页面上,和response.getWriter()类似
- response.getWriter()和 out write()的区别:
- 在Tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据
- response.getWriter()数据输出永远在 out.write()之前
- response.getWriter()和 out write()的区别:
- 指令
- 作用:用于配置JSP页面,导入资源文件
- 格式:<%@指令名称 属性名1=属性值1 属性名2=属性值2. . . %>
- 分类
- page :配置JSP页面
* contentType:等同于response.setContentType()- 设置响应体的mime类型以及字符集
- 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)
* import:导包
* errorPage:当前页面发生异常后,会自动跳转到指定的错误页面
* isErrorPage:标识当前页面是否是错误页面
* true:是,可以使用内置对象exception
* false:否,默认值,不可以使用内置对象exception
- include :页面包含的,导入页面的资源文件
- <%@include file="top.jsp"%>
- taglib :导入资源
- <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
- prefix中c为前缀,自定义
- <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
- page :配置JSP页面
- 注释
- html注释
* :只能注释html片段 - jsp注释:推荐使用
* <%-- --%>:可以注释所有
- 内置对象
- 在jsp页面中不需要创建,直接使用的对象
- 一共有9个
变量名 真实类型 作用- pageContext PageContext 当前页面共享数据,还可以获取其他8个内置对象
- request HttpServletRequest 一次请求访问的多个资源(转发)
- session Httpsession 一次会话的多个请求间
- application ServletContext 所有用户间共享数据
- response HttpServletResponse 响应对象
- page Object 当前页面(Servlet)的对象 this
- out JspWriter 输出对象,数据输出到页面上
- config ServletConfig Servlet的配置对象
- exception Throwable 异常对象
代码如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="top.jsp"%>
<html>
<head>
<title>Title</title>
</head>
<body>
<h3>主题信息</h3>
<% pageContext.setAttribute("msg","hello"); %>
<%=pageContext.getAttribute("msg") %>
</body>
</html>
----------------------------------------------------------------------
<%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>服务器正忙...</h1>
<%
String message = exception.getMessage();
out.print(message);
%>
</body>
</html>
Java-JSP既可以指定定义HTML标签,又可以定义java代码的更多相关文章
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
- 12 自定义标签/JSTL标签库/web国际化/java web之设计模式和案例
EL应用 自定义一个标签,实现两个字符串的相加 1回顾 1.1servlet生命周期 init(ServletConfig) service ...
- [原创]java WEB学习笔记41:简单标签之带属性的自定义标签(输出指定文件,计算并输出两个数的最大值 demo)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Java jsp页面中jstl标签详解
JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...
- Java jsp 自定义标签
1 自定义标签 1.1 引入 需求: 向浏览器输出当前客户的IP地址 (只能使用jsp标签) 1.2 第一个自定义标签开发步骤 1)编写一个普通的java类,继承SimpleTagSupport类,叫 ...
- java:jsp: 一个简单的自定义标签 tld
java:jsp: 一个简单的自定义标签 tld 请注意,uri都是:http://www.tag.com/mytag,保持统一,要不然报错,不能访问 tld文件 <?xml version=& ...
- JSP进阶 之 SimpleTagSupport 开发自定义标签
绝大部分 Java 领域的 MVC 框架,例如 Struts.Spring MVC.JSF 等,主要由两部分组成:控制器组件和视图组件.其中视图组件主要由大量功能丰富的标签库充当.对于大部分开发者而言 ...
- JSP第七篇【简单标签、应用、DynamicAttribute接口】
为什么要用到简单标签? 上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并且还要知道SKIP_ ...
- JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)
JSTL JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用: 提供给Java Web开发者一个标准通用的标签函数库 和E ...
- java框架之Struts2(4)-拦截器&标签库
拦截器 概述 Interceptor (拦截器):起到拦截客户端对 Action 请求的作用. Filter:过滤器,过滤客户端向服务器发送的请求. Interceptor:拦截器,拦截的是客户端对 ...
随机推荐
- OpenNESS NTS 的前世今生
目录 文章目录 目录 NEV SDK NEV SDK 的软件架构 NEV SDK 的持续演进 OpenNESS NTS NTS 在 VM 场景中的应用 NTS 在 Container 场景中的应用 N ...
- springboot 整合mail 发送邮件
springboot 整合mail 发送邮件 pom.xml <properties> <java.version>1.8</java.version> <p ...
- Django——form组件之循环生成标签
from django.contrib import admin from django.urls import path from app01.views import index urlpatte ...
- [C#] 禁用控制台关闭按钮
禁用控制台关闭按钮 internal class Program { [DllImport("user32.dll", EntryPoint = "FindWindow& ...
- 薄书的pytorch项目实战lesson49-情感分类+蹭免费GPU
项目来源 B站视频pytorch项目实战-情感分类问题 github lesson49-情感分类实战 1 实验环境 在这里和大家推荐一个学习ML和DL的一个实验运行平台,就是google的Colabo ...
- 【技巧】JS代码这么写,前端小姐姐都会爱上你
前言 缘由 JS代码小技巧,教你如何守株待妹 你想听的故事: 顶着『前端小王子』的称号,却无法施展自己的才能. 想当年本狗赤手空拳打入前端阵地,就是想通过技术的制高点来带动前端妹子.奈何时不待我,前端 ...
- Github 如何查看自己的 star 和 fork
最近在 github 上看到偶尔有几个项目被 fork,心里也是挺开心的,但是查看项目的 fork 和 star,网上没有一个具体的教程,都是一个模板各种抄,本文就详细介绍如何查看. 查看 fork ...
- Lru在Rust中的实现, 源码解析
LRU(Least Recently Used)是一种常用的页面置换算法,其核心思想是选择最近最久未使用的页面予以淘汰. LRU算法原理 基本思想:LRU算法基于一个假设,即如果一个数据在最近一段时间 ...
- C#.NET WinForm 多个子Task嵌套 Task.WaitAll 阻塞UI线程
C#.NET WinForm 多个子Task(子线程)嵌套 Task.WaitAll 阻塞UI线程 (界面) 情况: DoIt()方法内,开了2个Task 执行任务,子任务中会更新UI. DoIt( ...
- Selenium模块的使用(一)
简介 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器, 完全模拟浏览器的操作,比 ...