javaweb入门-----jsp概念
jsp是什么?
JSP:Java Server Pages java服务器端页面
*可以理解为 一个特殊的页面,其中既可以直接定义html标签,又可以定义java代码
*用于简化书写
<% %>java代码片段,用于定义java (java方法内能写什么,这里就能写什么)
<%= %>java表达式,用于输出一个表达式或变量的结果 print()输出语句中能写什么,这里就能写什么
<%! %>声明,用户创建类的成员变量和方法 (java类中可以写什么,这里就可以写什么)
jsp中注释:
<%-- --%>
jsp原理: !!! 本质就是一个servlet类!!!! 内部实现了打印html标签的功能,所以可以直接写标签。在servlet里拼标签可以达到一样的效果
1、当jsp页面第一次被访问时,tomcat服务器会把jsp编译成.java文件(就是一个servlet类)
(java文件在work-catalina-localhost-项目名-org-apache-jsp-)
2、把.java文件编译成.class文件
3、创建对象
4、调用service方法,输出html
5、如果以后再次请求同一个jsp,直接调用service方法,不再重复上面4个步骤
当我们访问jsp,jsp中有html标签和java代码,tomcat会将jsp生成一个servlet文件,其实就是一个.java文件,
并生成一个.class文件tomcat会调用jspService方法,通过out对象拼成html文件返回浏览器解析。
jsp九大内置对象:
1.out(JspWrite)
2.exception(Throwable) 不是每个页面都有的,设置了errorPage才有
3.request(HttpServletRequest)
4.response(HttpServletResponse)
5.session(HttpSession)
6.config(ServletConfig)
7.application(ServletContext)
8.pageContext(PageContext) 最常用
9.page(Object)
jsp三大指令:page、include、taglib
指令的格式:<%@ 指令名 属性1="" 属性2=""...%>
1.page指令:页面
(1)属性pageEncoding,指定当前jsp页面的编码,这个编码是给服务器用的
用来使用此编码把jsp编译成.java文件
(2)属性contentType,与rspsonse.setContentType("text/html;charset=utf-8")
作用相同,一是设置字符流的编码,二是设置content-type响应头
(3)属性pageEncoding和contentType,如果只写一个时,那么另一个的值与出现的值相同
一般我们至少写一个,默认编码是iso-8859-1
(4)属性import="" 导包
(5)属性errorPage和isErrorPage
errorPage="" 出错页面 出错了就跳转到这个页面
isErrorPage=true/false
isErrorPage:指定当前页面是否为处理错误的页面
true:这个页面会设置状态码为500,并且这个页面中可以使用
9大内容对象的exception对象
出错跳转错误页面还可以在web.xml中配置
(6)session = true/false当前页面是否支持session,如果为false,那么当前页面
没有session内置对象,默认是true
(7)isTreadSaf当前页面是否支持并发访问
(8)language当前页面编译后的语言类型,默认为java
(9)autoFlush:当前页面输出流缓冲区满时,是否自动刷新,默认true
(10)buffer设置当前页面缓存区的大小
(11)info:信息
2.include指令:静态包含 <%@ include %> 例:<%@include file="dex.jsp" %>
静态包含和动态包含的区别
静态包含是在jsp编译成.java文件前完成的合并,同时生成一个.java文件
作用:对于多个jsp中共同的内容,可以独立到一个.jsp中,通过inclde指令包含即可
RequestDispatcher.include是一个方法,它只是把两个servlet的响应数据
在运行时合并并输出客户端
jsp动作标签:forward include,是由tomcat解释执行,与java代码一样,都是在服务器端执行
<jsp:forward>转发,它与RequestDispatcher的forward方法的用法一样
<jsp:include>包含,它与RequestDispatcher的include方法的用法一样
3.taglib指令:导入标签库
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
导入jstl标签库,el表达式使用例子:${fn:length("abc") }
也可以自定义函数
javaweb入门-----jsp概念的更多相关文章
- JavaWeb入门——背景知识
JavaWeb入门——背景知识 摘要:本文主要介绍了Web服务器的相关知识. 概念 什么是JavaWeb JavaWeb,是用Java技术来解决相关Web互联网领域的技术的总称.Web包括:Web服务 ...
- JavaWeb(一)JavaWeb应用的概念
JavaWeb应用的概念 在Sun的Java Servlet规范中,对Java Web应用作了这样定义:"Java Web应用由一组Servlet.HTML页.类.以及其它可以被绑定的资源构 ...
- JavaWeb入门——在Linux环境下安装Tomcat服务器
JavaWeb入门——在Linux环境下安装Tomcat服务器 摘要:本文主要学习了如何在Linux环境下安装Tomcat服务器. 准备工作 检查Java环境变量 检查系统是否配置了Java的环境变量 ...
- JavaWeb入门——在Windows环境下安装Tomcat服务器
JavaWeb入门——在Windows环境下安装Tomcat服务器 摘要:本文主要学习如何在Windows环境中下载并安装Tomcat服务器. 下载 获取安装包 推荐去官网上下载Tomcat: htt ...
- javaweb 与jsp页面的交互流程 (初次接触时写)
javaweb 与jsp页面的交互流程 javaweb项目目录 1. javaweb项目的一般目录: 2. jsp 页面一般情况下放在 top(前台页面) back(后台页面) 3. 后台代码 放在s ...
- MongoDB入门必读(概念与实战并重)
MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个 ...
- JavaWeb入门——Tomcat的目录结构
JavaWeb入门——Tomcat的目录结构 摘要:本文主要了解了Tomcat的目录结构. 目录结构 打开Tomcat的目录,可以看到如下文件和文件夹: bin目录 该目录下存放的是二进制可执行文件. ...
- 【转帖】H5 手机 App 开发入门:概念篇
H5 手机 App 开发入门:概念篇 http://www.ruanyifeng.com/blog/2019/12/hybrid-app-concepts.html 作者: 阮一峰 日期: 2019年 ...
- Git 入门:概念、原理、使用
出处: git入门:概念.原理.使用 git和Github 概念 Git --- 版本控制工具(命令). git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.git ...
随机推荐
- vSphere 5.5.0 U1配置问题:主机的快速统计信息不是最新的(转载)
最近公司新购置了几台DELL服务器用来上桌面虚拟化,前期搭建测试环境进行功能验证,底层自然而然的选择VMware ESXi,当前最新版本为ESXi 5.5.0 U1,单独数据库安装,相对5.1来说,5 ...
- Spring 入门程序
1.0 导包的时候要注意: 以上的第一个是.class文件 以上的第二个是文件的解释性页面. 以上的第三个是.java文件 2.0 配置文件需要导入依赖(有dtd 依赖,也有xsd依赖) ² 从be ...
- JavaScript-倒计时效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java多线程(2)线程锁
多线程访问同一个资源进行读写操作,就很容易出一些问题(比如我们常见的读者写者,生产者消费者模型)所以我们会选择对他们设置信号量或者加锁,来限制同一个时刻只有一个线程对某个对象进行操作. 多线程是一个蛮 ...
- SqlHelper(基础)
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...
- Xilinx ISE如何调用Modelsim进行联合仿真
图: 在对设计的芯片进行测试时,经常要用到FPGA,可是里面的仿真工具却不如Modelsim那么好用,且在规模比较大时,ISE在仿真时,软件经常会报告内存限制的问题,此时一般会切换到Modelsim软 ...
- 微服务SpringCloud之熔断器
学习SpringCloud微服务是参考纯洁的微笑博客,看到他提到股市的熔断我也忍不住吐槽一下,记得当时实施熔断第一天就熔断了,现在想想也还是搞笑,从之前的全民炒股到现在的全民炒房,都是一个炒字,问题是 ...
- 影音播放器 Daum Potplayer v1.7.14804 美化便携版
PotPlayer 是一款由世界老牌的著名多媒体影音播放器软件 KMPlayer 的原创作者姜龙喜先生进入韩国多音软件公司后开发的新一代多媒体播放器作品.前者的优势在于内置了功能强大的视频及音频解码器 ...
- Java第四次作业——面向对象高级特性(继承和多态)
Java第四次作业--面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能, ...
- .Net Core 学习使用Session、和Cookie验证身份
一.使用Session 1.1 Status.cs 中配置 public void ConfigureServices(IServiceCollection services) { services. ...