【JavaWeb】JSP学习笔记(一)环境|目录|JSP基础语法|内置对象
来源:互联网 发布:淘宝评价管理在哪 编辑:程序博客网 时间:2024/04/27 10:55
- 环境配置及目录基础
- 1TomCat服务器配置
- 2MyEclipse配置
- 3关于修改Tomcat默认服务端口
- 4MyEclipse的第一个Demo流程
- 5Tomcat目录结构
- 6MyEclipse目录结构
- 7WEB-INF目录结构
- JSP基础语法
- 1JSP页面组成元素
- 1静态内容
- 2指令
- 3表达式
- 4脚本元素
- 5声明
- 6注释
- 2JSP生命周期
- 1JSP页面组成元素
- 内置对象
- web应用程序的请求相应模式
- 缓冲区的理解
- out对象
- get与post
- request对象
- response对象
- 请求转发与请求重定向
- session对象
- 关于Session的生命周期
- Application对象
- Page对象
- PageContext
- Config对象
- Expection对象
本文部分图片来自中慕课网,特此说明
环境配置及目录基础
1、TomCat服务器配置
官网下载
2、MyEclipse配置
###(1)配置jre
window->preferences->java 选择非默认的JDK
###(2)配置TomCat
window->preferences->MyEclipse->Servers->Tomcat 选择本机的Tomcat服务器
3、关于修改Tomcat默认服务端口
在TomCat安装目录下的conf Server.xml当中
4、MyEclipse的第一个Demo流程
new->web project 点击next 勾选生产web.xml
5、Tomcat目录结构
6、MyEclipse目录结构
7、WEB-INF目录结构
JSP基础语法
1、JSP页面组成元素
(1)静态内容
所谓静态内容,可以简单理解为纯HTML页面,相当于页面的骨架例如如下的代码片段:
这里可能会涉及到另外一个块内容:页面静态化
如果一个页面在一定的时间内,其内容没有发生改变,那么就不必为每一次对它的访问进行一次“新”的编译或执行。我们可以把它在这段没有发生改变的时间内的 结果保存到一个静态的页面里面,然后每次访问这个页面时,就用刚才保存的静态页面进行回复。这样便能大大地减少系统资源的消耗,并且提高对客户的响应速 度。而这个过程就称之为页面静态化。
现在所面临的问题就是如何在JSP中将页面的内容保存下来。
在访问JSP页面的时候,服务器会先将JSP文件编译为Servlet文件,然后对这个Servlet编译、执行,并最终把结果返回给客户端。而我们的任务就是要把这个最终生成的HTML静态页面保留下来,存放在服务器上。
解决的方法其实很简单。普通的对于JSP的访问,最终的数据流是回写到客户端的,如果我们把它重定向,让它回写到服务器上一个本地的文件,这样就能把JSP的执行结果保存起来,而这个文件就是我们想要得到的静态化的结果。
详情见:页面静态化
(2)指令
【page指令】
功能:设定整个JSP网页的静态属性。
语法:<%@ page 标签元素=“值”%>,比如 <%@ page language=“java”%>
标签元素:language、import、contentType、session、errorPage、isErrorPage等等。
【include指令】
功能:include指令用来向当前页面插入一个静态文件的内容。这个文件可以是JSP、HTML、文本或是Java程序。
语法:<%@ include file=“filename” %> 比如 <%@ include file=“111.txt” %>
标签元素:file
注意:include指令元素和行为元素主要有两个方面的不同点。
1.include指令是静态包含,执行时间是在编译阶段执行,引入的内容为静态文要,在编译成servlet时就和包含者融合到一起。所以file不能是一个变量,也不能在file后接任何参数。
2.include行为是动态包含,执行时间是在请求阶段执行,引入的内容在执行页面时被请求时动态生成再包含到页面中。
3、<%@ include file=“filename” %>如果直接以文件名开头,指的是正在使用的JSP文件所在的路径,
扩展:
JSP基本动作(行为元素)
JSP中的动作元素包括:include、forward、useBean、getProperty、setProperty、plugin、param。
1.include动作
标签用来包含一个静态或者动态的文件。
2.forward动作
标签用来重定向一个静态HTML文件、JSP文件或者是一个程序段。
3.useBean动作
标签用来在JSP页面中创建一个Bean实例,并指定其名称和作用范围。
4.getProperty动作
标签用来获取Bean的属性值(在此之前必须用创建它),并将之转化为一个字符串,然后将其插入到输出的页面中。
5.setProperty动作
标签表示用来设置Bean中的属性值。
6.plugin动作
标签用于在浏览器中播放或显示一个对象(典型为applet和Bean),这种显示需要在浏览器上安装Java插件。当JSP文件被编译后送往浏览器时,元素将会根据浏览器的版本替换成或者元素。
7.param动作
标签用来传递参数,必须与forward、include及plugin动作配合使用。
【taglib指令】
功能:使用标签库定义新的自定义标签,在JSP页面中启用定制行为。
当页面引用了用户自定义标签时,taglib指令用于引用自定义标签库,并指定标签的前缀。
语法:<%@ taglib uri=”URIToTagLibrary” prefix=”tagPrefix” %>
如<%@ taglib uri=”http://www.jspcentral.com/tags” prefix=”JAXP” %>
标签元素:uri、Prefixpage指令元素的属性
uri=”tagLibraryURI” 标签库描述器的URI,主要是说是tagLibrary的存放位置。
prefix=”tagPrefix” 用于标识在页面后面部分使用定制标签的唯一前缀。
前缀在标签的名字前面使用,例如,在中public在loop前面。空的前缀将被忽略。如果你正在开发或使用自定义的标签的话,你不能使用标签前缀:jsp,jspx,java,javax,servlet,sun和sunw等,因为他们已经被Sun的系统的所使用。
(3)表达式
(4)脚本元素
在jsp当中包含一些可以执行的java代码,这些代码都写在了一个jsp标签当中
(5)声明
完成变量方法的定义
(6)注释
客户端可见——在浏览器当中查看源码,可以看见注释内容
客户端不可见——与上面反之
2、JSP生命周期
JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。
以下是JSP生命周期中所走过的几个阶段:
- 编译阶段:
servlet容器编译servlet源文件,生成servlet类 - 初始化阶段:
加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法 - 执行阶段:
调用与JSP对应的servlet实例的服务方法 - 销毁阶段:
调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例
详见JSP 生命周期
内置对象
Jsp内置对象是指web容器创建的一组对象,无需使用new关键字,就可直接使用。
JSP拥有9大内置对象
web应用程序的请求相应模式
缓冲区的理解
out对象
out对象是 javax.servlet.jsp.JspWriter 类的实例,用来在response对象中写入内容。
最初的JspWriter类对象根据页面是否有缓存来进行不同的实例化操作。可以在page指令中使用buffered=’false’属性来轻松关闭缓存。
JspWriter类包含了大部分java.io.PrintWriter类中的方法。不过,JspWriter新增了一些专为处理缓存而设计的方法。还有就是,JspWriter类会抛出IOExceptions异常,而PrintWriter不会。
get与post
request对象
request对象是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。
request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
解决中文乱码问题:
(1)reques.setCharacterEncoding(“utf-8”);可以解决post表单提交中文时的乱码问题
(2)修改Tomcat服务器的配置:conf/server.xml
response对象
response对象是javax.servlet.http.HttpServletResponse类的实例。当服务器创建request对象时会同时创建用于响应这个客户端的response对象。
response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。
注意:
response对象生成的输出流对象(response.getWriter)在输出时总是提前与内置的out对象产生的输出流
请求转发与请求重定向
【请求重定向】
语法:response.sendRedirect()
特点:客户端行为
实质:相当于客户端进行了两次请求,前一次的请求对象不会保存,Url地址栏的地址会发生改变
【请求转发】
语法:request.getRequestDispatcher.forward(req,resp)
特点:服务端行为
实质:一次请求转发后会保存请求对象,且Url地址栏不会发生改变
session对象
session表示应用和服务器之间的一次对话,是一种时间上的概念。
关于Session的生命周期:
Application对象
Page对象
PageContext
Config对象
Expection对象
- 【JavaWeb】JSP学习笔记(一)环境|目录|JSP基础语法|内置对象
- 学习笔记之javaweb基础:jsp基本语法,内置对象,对JavaBean的操作语法
- JSP内置对象、基础语法笔记
- JSP学习笔记(一)------JSP九大内置对象
- JSP笔记-开发环境、基本语法和内置对象
- 5.JavaWeb基础 JSP内置对象
- JavaWeb---Jsp内置对象
- JSP学习笔记二之JSP的语法和9大内置对象(上)
- JavaWeb学习----JSP内置对象详解
- jsp学习笔记--内置对象
- JSP内置对象学习笔记
- JSP内置对象学习笔记
- JavaWeb学习(三)----JSP内置对象详解
- JSP学习笔记:初识JSP内置对象
- jsp基础学习(二)----jsp内置对象
- JSP学习笔记(一):JSP基础
- JSP学习笔记(二):JSP内置对象
- JSP学习笔记(3)-JSP内置对象
- 为什么Java中500==500为假而50==50为真?
- Boostrap 标准的远程弹出窗口页面样式
- 【OpenCV】OpenCV3中的SURF特征点的寻找和匹配
- if的格式
- hadoop学习之HIVE(3.2):hadoop2.7.2下配置hiveserver2启动远程连接
- 【JavaWeb】JSP学习笔记(一)环境|目录|JSP基础语法|内置对象
- LuaFramework数据传输Protobuf的解析repeated字段
- iPhone6无法开机
- 7. Reverse Integer
- sysbench压力测试工具使用方法
- centos7+maven安装
- ios逆向工程-静态分析
- Android6.0 PKMS拦截adb安装应用
- Android Service介绍