Java EE开发技术(第五章:JSP技术)

一、JSP概述

  • JSP(JavaServer Pages)是一种基于Java的服务器端技术,用于创建动态生成的Web页面
  • 允许开发人员将Java代码嵌入到HTML页面中,从而能够动态地生成内容

二、JSP执行流程

  1. 客户端请求JSP页面
  2. Web容器将JSP翻译成Servlet源代码
  3. 编译Servlet源代码生成.class文件
  4. 加载并执行Servlet
  5. 将结果返回给客户端

JSP最终会被编译成Servlet类,JSP可以轻松实现在html中加入Java代码

三、JSP脚本语法

脚本元素

JSP指令

JSP动作

三、JSP九大隐含对象

request请求对象

java 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>JSP隐含对象-request请求对象</title>
</head>
    <body>
        <h1>JSP隐含对象-request请求对象</h1>
        <p>当前web应用的上下文路径为:<%=request.getContextPath()%></p>
        <hr>
        <h2>request对象调用getRequestURI()方法获取当前请求的资源路径</h2>
        <p>当前请求的资源路径为:<%=request.getRequestURI()%></p>
        <hr>
        <h2>request对象调用getRequestURI()方法获取完整的URL</h2>
        <p>当前请求的完整URL为:<%=request.getRequestURL()%></p>
        <hr>
        <h2>request对象调用getParameter()方法获取参数的值</h2>
        <p>当前请求参数name的值为:<%=request.getParameter("name")%></p>
    </body>
</html>

response响应对象

java 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>JSP隐含对象-response响应对象</title>
</head>
    <body>
        <h1>response响应对象</h1>
        <h3>response对象可以调用getWriter/getOutputStream方法获取字符流/字节流,用于向客户端输出数据。</h3>
        <%
            //字节流只输出文本字符串
            //response.getWriter().write("Hello World!");
            //字节流可以输出任意字符数据,例如图片、视频、音频等
            response.getOutputStream().write("abc".getBytes());
        %>
        <hr>
        <h3>response对象addCookie方法可以向客户端添加Cookie。</h3>
        <%
            Cookie cookie = new Cookie("msg","success");
            response.addCookie(cookie);
        %>
        <hr>
        <h3>response对象sendRedirect方法重定向到其他页面。</h3>
        <%
            //资源跳转-请求重定向(浏览器的地址url会发生变化)
            response.sendRedirect("demo1.jsp");
        %>
    </body>
</html>

JSP四大作用域对象

四、ShowUsersServlet优化

将所有用户的集合users存入到request作用域,转发到showUsers.jsp页面

相关推荐
比奥利奥还傲.5 天前
哪吒监控面板实战:部署 Dashboard、接入 Agent、钉钉告警,再配置固定公网访问
网络·人工智能·分布式·1024程序员节
默 语7 天前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
学传打活23 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活1 个月前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng1681 个月前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心1 个月前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055271 个月前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055271 个月前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝1 个月前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055271 个月前
Java图像处理实战指南
人工智能·1024程序员节