JSP整理ver2.0
2021-03-21 10:26
标签:ons 操作 ora 编译 utf-8 内部类 java类 容器 cep jsp页面本质上是一个servlet程序。 当我们第一次访问jsp页面的时候。Tomcat服务器会帮我们把jsp页面翻译成为一个java源文件。并且对它进行编译成为.class字节码程序。 打开java源文件会发现它继承了HttpServlet类。 ? jsp的page指令可以修改sp页面中一些重要的属性,或者行为。 language属性 ? 表示jsp翻译后是什么语言文件。暂时只支持java。 contentType属性 ? 表示jsp返回的数据类型是什么。也是源码中response.setContentType()参数值 pageEncoding 属性 ? 表示当前jsp页面文件本身的字符集。 import 属性 ? 跟java源代码中一样。用于导包,导类。 *问题:IDEA提示 Cannot resolve class or package ‘utill -解决: 修改设置File->Project Structure->Project,把该改的改了 autoFlush属性 ? 当out 输出流缓冲区满了之后,是否自动刷新冲级区。默认值是true。 buffer属性 ? 设置out缓冲区的大小。默认是8kb *修改后 :报错500 jsp.error.autoFlush.invalid errorPage属性:设置当jsp页面运行时出错,自动跳转去的错误页面路径。 设置错误页面为同目录下的errorPage.jsp,发生错误即可跳转到这个页面。 isErrorPage属性 ? 设置当前sp页面是否是错误信息页面。默认是false。如果是true可以通过源代码获取异常信息。 session属性 ? 设置访问当前jsp页面,是否会创建HttpSession对象。默认是true。 extends属性 ? 设置jsp翻译出来的java类默认继承谁。 ? 格式: ? 1.声明类属性 ? 2.声明static静态代码块 ? 3.声明类方法 ? 4.声明内部类 ? 表达式脚本的格式是: ? 表达式脚本的作用是:在jsp页面上输出数据。 ? 表达式脚本的特点: 所有的表达式脚本都会被翻译到_jspService()方法中 表达式脚本都会被翻译成为out.print()输出到页面上 由于表达式脚本翻译的内容都在jspService()方法中,所以jspService()方法中的对象都可以直接使用。 表达式脚本中的表达式不能以分号结束。 1.输出整型 代码脚本的格式是: 代码脚本的作用是: 可以在jsp页面中,编与我们自己需要的功能(写的是java语句)。 代码脚本的特点是: 4、代码脚本还可以和表达式脚本一起组合使用。在jsp页面上输出数据 示例 1.代码脚本--if语句 ? html 注释会被翻译到java源代码中。在jspService方法里,以out.writer输出到客户端。 ? java 注释会被翻译到java源代码中。 ? jsp注释可以注掉jsp页面中所有代码。
jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕,我们在jsp脚本中可以直接使用这9个对象 四个的数据存取范围不同 pageContext域:当前jsp页面范围 request域:一次请求内 session域:一次会话内(打开浏览器访问服务器,直到关闭该浏览器) application域:整个web工程范围内(只要web工程不停止,数据都在) 测试用: response中表示响应,我们经常用于设置返回给客户端的内容(输出) out 也是给用户做输出使用的。 当jsp页面中所有代码执行完成后会做以下两个操作: 执行out.flush()操作,会把out缓冲区中的数据追加写入到response缓冲区末尾 会执行response的刷新操作。把全部数据写给客户端。 由于jsp翻译之看,底层源代码都是使用out 来进行输出。所以一般情况下。我们在jsp页面中统一使用out来进行输出。避免打乱页面输出内容的顺序。 示例:不管out写在responese的前面还是后面,最后显示out都会在后面。 ? file属性指定要包含的jsp页面的路径 静态包含的特点: 例子: main.jsp(指向同目录下的footer.jsp) footer.jsp page属性指向要包含的jsp页面路径 动态包含的特点: 示例: main.jsp footer.jsp 2)请求转发: 示例: 和这个作用一样 ServletContextListener 它可以监听 ServletContext对象的创建和销毁。 ServletContext 对象在web工程启动的时候创建,在web工程停止的时候销毁。 监听到创建和销毁之后都会分别调用 ServletContextListener监听器的方法反馈。 示例: 注意要加上注解 JSP整理ver2.0 标签:ons 操作 ora 编译 utf-8 内部类 java类 容器 cep 原文地址:https://www.cnblogs.com/musecho/p/12724623.html
JSP
1. 什么是jsp,它有什么用?
因为servlet 程序回传html页面数据是一件非常繁锁的事情。开发成本和维护本都极高。2. jsp的本质是什么
3. jsp的三种语法
A)jsp头部的page 指令
B)jsp中常用的脚本
a)声明脚本(极少用)
map;
%>
();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
}
%>
b)表达式脚本(常用)
2.输出浮点型
3.输出字符率
4.输出对象c)代码脚本
2、代码脚本由于翻译到_jspService()方法中,所以在_jspService方法中的现有对象都可以直接使用。
3、还可以由多个代码脚本块组合完成一个完成的java语句。
2.代码脚本----for循环语句
3.翻译后java文件中_jspService方法内的代码都可以写
C)jsp中三种注释
1.html注释
2.java注释
3.jsp注释
4. jsp九大内置对象
名称
类型
描述
out
javax.servlet.jsp.JspWriter
用于页面输出
request
javax.servlet.http.HttpServletRequest
得到用户请求信息,
response
javax.servlet.http.HttpServletResponse
服务器向客户端的回应信息
config
javax.servlet.ServletConfig
服务器配置,可以取得初始化参数
session
javax.servlet.http.HttpSession
用来保存用户的信息
application
javax.servlet.ServletContext
所有用户的共享信息
page
java.lang.Object
指当前页面转换后的Servlet类的实例
pageContext
javax.servlet.jsp.PageContext
JSP的页面容器
exception
java.lang.Throwable
表示JSP页面所发生的异常,在错误页中才起作用
5. jsp四大域对象
pagecontexI --> request -->session --> application
scope页面
pageContext取数据:
request取数据:
session取数据:
application取数据:
pageContext取数据:
request取数据:
session取数据:
application取数据:
6. jsp中的out输出和response.getWriter输出的区别
");
out.write("out输出2
");
%>
");
response.getWriter().write("response输出2
");
%>
out.print() :输出任意数据类型都没有问题(先转换为字符串,再调用write输出)7.jsp的常用标签
a) 静态包含
1.静态包含不会翻译被包含的jsp页面。
2.静态包含其实是把被包含的jsp页面的代码拷贝到包含的位置执行输出。头
身体尾巴
b)动态包含
JspRuntimetibrary.incLude(request,response,"/include/footer.jsp",out,false);
头
身体尾巴
c)请求转发
8. 什么是Listener监听器?
8.1 ServletContextListener 监听器
@WebListener
@WebListener
public class MyServletContextListenerImpl implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("ServletContext对象被创建了");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("ServletContext对象被销毁了");
}
}