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 ...
随机推荐
- 设计和编写一个异步通用Picker选择器,用于时间日期、城市、商品分类的选择
目录 一.功能规划 二.最底层基础实现 (1)Picker界面和功能实现 (2)不同类型的选择器基础实现 三.数据源层 (1)时间日期 (2)多级同步分类,如:城市 (3)多级异步分类,如:城市 四. ...
- 网络虚拟化基础协议·Geneve
[分层] 要实现网络虚拟化,最基础的技术肯定是分层(OverLay & UnderLay). ·UnderLay 中文释义中,老房子漏雨,在房子里面撑一把大雨伞,这把大雨伞就是UnderLay ...
- Python的函数, 返回值, 参数
1. 函数 函数是对功能的封装 语法: def 函数名(形参): 函数体(代码块,return) 调用: 函数名(实参) 2. 返回值 return:在函数执行的时候, 遇到return 就直接返回, ...
- 网络下载器 迅雷大众版 v7.9.42.5050 精简绿色版
下载地址:点我 基本介绍 迅雷大众版是一款采用了先进的超线程技术基于网格原理,能够将存在于第三方服务器和计算机上的数据文件进行有效整合,通过这种先进的超线程技术,用户能够以更快的速度从这些第三方节点平 ...
- Android native进程间通信实例-socket本地通信篇之——基本通信功能
导读: 网上看了很多篇有关socket本地通信的示例,很多都是调通服务端和客户端通信功能后就没有下文了,不太实用,真正开发中遇到的问题以及程序稳定性部分没有涉及,代码健壮性不够,本系列(socket本 ...
- Spring boot ,dubbo整合异常
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: com.guooo.boot.acc.serv ...
- windows开机自启python服务(任务计划程序+bat脚本)
需求:根据上海某银行 的需求,使用到获取数据服务的软件 只能在windows上运行,所以有 windows系统开机用户登录后自启动python flask服务 的需求: 相关工具:win10系统中,使 ...
- nuxt项目打包上线,以及nuxt项目基础代码分享
nuxt的项目部署到线上环境,有多种方法,这里分享我使用的方法,一步步照着配置,就可以配置成功~ (1)项目先执行npm run build 打包好 (2)服务器安装node 和pm2依赖 服务器 ...
- github访问不到,登陆不上
为github添加host C:\WINDOWS\System32\drivers\etc 在host文件添加如下两行 192.30.253.112 github.com 151.101.113.19 ...
- HDFS的HA(高可用)
HDFS的HA(高可用) 概述 (1)实现高可用最关键的策略是[消除单点故障].HA 严格来说应该分成各个组件的 HA 机制:HDFS 的 HA 和 YARN 的 HA. (2)Hadoop2.0 之 ...