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:拦截器,拦截的是客户端对 ...
随机推荐
- 2022年官网下安装ZooKeeper最全版与官网查阅方法
目录 一.环境整合 构建工具(参考工具部署方式) 二.官网下载 三.解压安装 四.配置环境 五.启动运行 六.配置为服务 七.查看设置服务 其他版本安装 构建工具(参考工具部署方式) 一.环境整合 构 ...
- VSCode:Mac(M1)配置VSCode中C/C++环境(只需三步)
只需三步. 1. 下载CodeLLDB插件: 2. 配置tasks.json { "version": "2.0.0", "tasks": ...
- 关于EF Core 更新速度随时间越来越慢的解决办法
关于EF Core更新速度随时间越来越慢的解决办法 概要 本篇主要介绍使用 context.ChangeTracker.Clear() 方法,在通过循环进行批量更新时,通过手动清除跟踪实体以提高性能的 ...
- IDEA使用——快捷键修改
刚转入IDEA的小伙伴都知道,如果将IDEA的快捷键设置为Eclipse模式也会有相当多常用快捷键不一样,下面链接的配置文件是博主自己IDEA配置的导出文件.我将Eclipse常用的快捷键都做了同步, ...
- 企业级nginx内核优化篇
1. cpu核心配置 方法1: worker_processes auto; 自动调用[推荐] 方法2: worker_processes 4; 手工配置 检查CPU核心:yum install nu ...
- css 透明气泡效果
css body { background:#333333; } .login-card { text-align:center; width:430px; height:430px; margin: ...
- k8s——daemonset
daemonset 为每一个匹配的node都部署一个守护进程 # daemonset node:type=logs daemonset 选择节点 - nadeSelector: 只调度到匹配指定的la ...
- windows隐藏文件如何查看
1.组织 2.查看 3.显示隐藏文件
- Elasticsearch之Nested Query nestedQuery查询数组
es是通过符合条件的json记录找出来,本身并不是将数据中的记录filter过滤.es nestedQuery不是过滤的结果,是匹配的这条es记录,所以数组中的其他的记录也会查询出来1.方法1:可以在 ...
- @Async异步方法对异常的处理,从内层向外层抛出机制
@Async异步方法对异常的处理,从内层向外层抛出机制 @RequestMapping(value = "/test", method = RequestMethod.GET) p ...