JavaEE学习笔记 2024-1-15 --JSP

<< 上一篇

个人整理非商业用途,欢迎探讨与指正!!


文章目录


6.JSP

动态页面

Java Server Pages 基本Servlet的java服务页面(动态页面)

JSP之上可以编写java和html代码

6.1JSP的基本使用

jsp 复制代码
<!-- jsp脚本 -->
<%@page import="com.qf.pojo.Book"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<a href="xxxServlet">跳转</a>
<!-- 在如下代码中编写java代码 -->
<%
	String str = "helloworld";
	/* 打印到后端控制台 */
	System.out.println(str);
	/* 打印到前端页面 */
	out.println(str);
	out.println("我叫王成輝");
%>

<%
	/* 在一个类的根部使用alt+/进行导包 */
	Book book = new Book(1,"钢铁是怎么样炼成","20.02");
	out.println(book);
%>
<br>
<!-- 直接输出某个内容 -->
<%=book %>
</body>
</html>

6.2JSP的使用规则

JSP和HTML一样,都可以作为视图,给用户展示页面信息的

不同点是JSP可以写Java代码

JSP的后缀为.jsp

使用<% java代码 %>作为语法

使用<%=变量 %>可以直接输出一个变量的值

JSP的本质是一个Java类

服务器可以将JSP自动的转换为Java类,在服务器的work文件夹下

JSP转换的核心代码

java 复制代码
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;

6.3JSP内置对象

可以在JSP页面上直接使用的对象,在_jspService中已经定义好的对象

内置对象一共有9个

内置对象名 类型 说明
request HttpServletRequest 表示当前页面的请求***
response HttpServletResponse 表示当前页面的响应
pageContext PageContext JSP的上下文,可以获取到当前JSP的任何信息
session HttpSession 表示浏览器和服务器之间的一次会话***
application ServletContext 表示当前的服务器,服务器上下文**
config ServletConfig Servlet类的信息
out JspWriter JSP页面的输出流,等价与<%= %>
page Object 当前页面对象(Object对象)
exception Throwable 表示当前页面的错误信息

6.4错误页面的配置

6.4.1每个页面单独设置
jsp 复制代码
<!-- 将当前页面声明为错误页面,所有的错误信息都向当前的页面跳转 -->
<%@ page isErrorPage="true"%>
<!-- 有错误的页面位置跳转 -->
<%@ page errorPage="error.jsp" %>
6.4.2统一的错误页面设置

在web.xml中进行设置

xml 复制代码
<error-page>
    <error-code>404</error-code>
    <location>/404.html</location>
</error-page>

<error-page>
    <error-code>500</error-code>
    <location>/500.html</location>
</error-page>

6.5域对象

JSP域对象四个:pageContext request session applicaion

Servlet域对象三个:request session application

域对象可以存储数据

jsp 复制代码
<%
	// 表示当前的页面
	pageContext.setAttribute("name", "张三");
	// 表示一次请求
	request.setAttribute("age", 19);
	// 表示一次会话:浏览器从开启到关闭的过程
	session.setAttribute("hobby", "学习");
	// 表示服务器从开启到关闭
	application.setAttribute("gender", "男");
%>
java 复制代码
//		request对象
request.setAttribute("age", 28);
//		session对象
HttpSession session = request.getSession();
session.setAttribute("hobby", "吃");
//		applicaion对象
ServletContext application = request.getServletContext();
application.setAttribute("gender", "未知");
相关推荐
Xiao Fei Xiangζั͡ޓއއ25 分钟前
一觉睡醒,全世界计算机水平下降100倍,而我却精通C语言——scanf函数
c语言·开发语言·笔记·程序人生·面试·蓝桥杯·学习方法
baijin_cha43 分钟前
机器学习基础04_朴素贝叶斯分类&决策树分类
笔记·决策树·机器学习·分类
NMBG221 小时前
[JAVAEE] 面试题(四) - 多线程下使用ArrayList涉及到的线程安全问题及解决
java·开发语言·面试·java-ee·intellij-idea
波克比QWQ1 小时前
rust逆向初探
笔记·rust逆向
LuckyLay1 小时前
Spring学习笔记_36——@RequestMapping
java·spring boot·笔记·spring·mapping
坚硬果壳_1 小时前
《硬件架构的艺术》笔记(一):亚稳态
笔记·学习
qiyi.sky2 小时前
JavaWeb——Web入门(8/9)- Tomcat:基本使用(下载与安装、目录结构介绍、启动与关闭、可能出现的问题及解决方案、总结)
java·前端·笔记·学习·tomcat
dal118网工任子仪2 小时前
web安全漏洞之ssrf入门
笔记·学习·计算机网络·网络安全
杜若南星4 小时前
保研考研机试攻略(满分篇):第二章——满分之路上(1)
数据结构·c++·经验分享·笔记·考研·算法·贪心算法
金星娃儿7 小时前
MATLAB基础知识笔记——(矩阵的运算)
笔记·matlab·矩阵