JavaWeb JSP

JSP(Java Server Page)是J2EE的功能模块,是Java服务器页面,由Web服务器执行,作用就是降低动态网页开发难度,将Java代码与HTML分离,降低开发难度,本质就是Servlet。

Servlet的缺点:

  • 静态HTML与动态Java代码混合在一起,难以维护
  • Servlet利用out.println()语句输出,开发效率低下

JSP的运行要求:

  • 可正常运行的Tomcat

  • 所有JSP页面扩展名必须是 .jsp

  • JSP页面应放在Web应用程序目录下

JSP的执行过程:
请添加图片描述
请添加图片描述

基本语法

JSP代码块

JSP代码块用于在JSP中嵌入Java代码

语法:<% java代码 %>

例如:

<%System.out.println("Hello World!");%>

JSP声明构造块

JSP声明构造块用于声明变量或方法

语法:<%! 声明语句 %>
例如:

<%! public int add(int a,int b){return a+b;} %>

JSP输出指令

JSP输出指令用于在JSP页面中显示java代码执行结果

语法:<%= java代码 %>

例如:

<%= "<b>" + name + "</b>" %>

JSP处理指令

JSP处理指令用于提供JSP执行过程中的辅助信息

语法:<%@ jsp指令 %>
例如:

<%@ page import="java.util.*" %>

常用处理指令:

  • <%@ page %>:定义当前JSP页面全局设置
  • <%@ include %>:将其他JSP页面与当前JSP页面合并
  • <%@ taglib %>:引入JSP标签库

用于配置JSP页面,导入资源文件

语法:

<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %>
  • page:配置JSP页面的
    • contentType:等同于response.setContentType(),设置响应体的mime类型以及字符集,设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)
    • import:导包
    • errorPage:当前页面发生异常后,会自动跳转到指定的错误页面
    • isErrorPage:标识当前也是是否是错误页面。true:是,可以使用内置对象exception;false:否,默认值,不可以使用内置对象exception
  • include:页面包含的,导入页面的资源文件 <%@include file="top.jsp"%>
  • taglib:导入资源 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    • prefix:前缀,自定义的

注释

  • <%-- 注释 --%>:JSP注释,被注释语句不做任何处理
  • ///*..*/:用于注释<%%>中的java代码,被注释代码不执行
  • <!-- html -->:HTML注释,被注释的语句不会被浏览器解释

内置对象

在jsp页面中不需要创建,直接使用的对象

变量名真实类型作用
pageContextPageContext当前页面共享数据,还可以获取其他八个内置对象
requestHttpServletRequest一次请求访问的多个资源(转发)
sessionHttpSession一次会话的多个请求间
applicationServletContext所有用户间共享数据
responseHttpServletResponse响应对象
pageObject当前页面(Servlet)的对象 this
outJspWriter输出对象,数据输出到页面上
configServletConfigServlet的配置对象
exceptionThrowable异常对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pandas数据分析42——读取和写入stata和spss的数据格式

python就是胶水语言&#xff0c;啥文件基本都能读取&#xff0c;而且pandas作为数据分析最好用的包&#xff0c;其功能自然也很多&#xff0c;可以读取各种数据文件。 本次就来演示一下怎么读取stata文件&#xff0c;和spss文件&#xff0c;他们不仅储存了数据和变量&#xff…

C++--机器人的运动范围

目录 1. 题目 2. 思路 3. C代码测试 4. 测试结果 1. 题目 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动&#xff0c;每一次只能向左&#xff0c;右&#xff0c;上&#xff0c;下四个方向移动一格&#xff0c;但是不能进入行坐标和列坐标的数位之和大于k的格…

如何应对IT服务交付中的问题?

如何应对IT服务交付中的问题&#xff1f; 按需交付服务的挑战IT服务体系的复杂性恶性循环的形成学会洞察的重要性书籍简介参与方式 按需交付服务的挑战 一致性、可靠性、安全性、隐私性和成本效益的平衡&#xff1a;成功的按需交付服务需要满足这些要求&#xff0c;这需要服务…

html样式排版

<template><div class"box"><div class"header">头部</div><div class"main"><div class"left">菜单</div><div class"right"><div class"right-contentr"&g…

【C++】list模拟实现+反向迭代器

list模拟实现 list定义list用法list iterator的使用begin() end()rbegin()rend() reverse()sort()merge()unique()remove()splice() list模拟实现struct和class的区别list三个类模板默认成员函数构造函数拷贝构造函数赋值运算符重载析构函数 数据修改操作push_back()push_fron…

正信法律:借了钱找不到人怎么办

当一个人借出钱财之后&#xff0c;发现借款人像蒸发了一般无影无踪&#xff0c;这无疑是一件让人头疼的事情。面对这种情况&#xff0c;我们需要采取明智的措施来保护自己的权益。 尽量联络借款人。可以通过电话、短信、电子邮件或社交媒体尝试联系&#xff0c;同时也可以询问共…

界面控件DevExpress WinForms 2024产品路线图预览(一)

DevExpress WinForm拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜任…

excel数值无法左对齐

右键&#xff0c;单元格格式 修改为常规 解决

【力扣精选算法100道】——判定是否互为字符重排(哈希专题)

目录 &#x1f6a9;了解题意 &#x1f6a9;算法原理 第一种&#xff1a;排序 第二种方法&#xff1a;哈希 &#x1f6a9;实现代码 面试题 01.02. 判定是否互为字符重排 - 力扣&#xff08;LeetCode&#xff09; &#x1f6a9;了解题意 我们输入俩个字符串&#xff0c;当俩…

张雨霏同款食谱火了,冠军的健康饮食秘密被发现了

2024新一届奥运年到来之际&#xff0c;厨电集成灶领军品牌的森歌突然爆出要“让全民吃到‘冠军’餐”&#xff0c;一时让业界震惊&#xff0c;也让有集成灶消费欲求的消费者感到惊喜。 森歌集成灶的这个“豪言壮语”是来源于森歌联合国家体育总局训练局共同启动的“2024森歌冠…

jquery 后台返回的单选框按照两列展示

jquery代码 <!DOCTYPE html> <html><head><!-- <meta charset"GBK"> --><meta charset"UTF-8"><title></title></head><form><body><table id"myTable"> <tbody …

代码随想录算法训练营Day37 | LeetCode738.单调递增的数字、LeetCode968.监控二叉树、贪心算法总结

LeetCode738.单调递增的数字 思路&#xff1a;与分糖果的题目同理&#xff0c;因为需要与前一位数比较&#xff0c;并且修改这两个数&#xff0c;因此需要从后往前遍历&#xff0c;当前一位数比当前数大时&#xff0c;则前一个数-1&#xff0c;后一个数变为9。 代码细节&…

【C++从0到王者】第四十七站:最小生成树

文章目录 一、最小生成树的概念1.概念2.最小生成树的构造方法 二、Kruskal算法1.算法思想2.代码实现 三、Prim算法1.算法思想2.代码实现3.试试所有节点为起始点 一、最小生成树的概念 1.概念 连通图&#xff1a;在无向图中&#xff0c;若从顶点v1到顶点v2有路径&#xff0c;则…

设计模式:工厂模式 ⑤

一、思想 工厂模式&#xff1a;一个中介作用&#xff0c;在创建对象的时候。 主要作用&#xff1a;屏蔽对象创建过程&#xff0c;减少上层关注度&#xff0c;解耦并且内部方法可做更多扩展增强的处理。(比如使用映射消除if代码&#xff0c;存在多个同类对象需要抽象策略处理的时…

蓝桥杯练习系统(算法训练)ALGO-988 逗志芃的危机

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 逗志芃又一次面临了危机。逗志芃的妹子是个聪明绝顶的人&#xff0c;相比之下逗志芃就很菜了。现在她妹子要和他玩一个游戏…

express+mysql+vue,从零搭建一个商城管理系统8--文件上传,大文件分片上传

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、安装multer&#xff0c;fs-extra二、新建config/upload.js三、新建routes/upload.js四、修改routes下的index.js五、修改index.js六、新建上传文件test.html七、开启jwt验证token&#xff0c;通过login接…

java核心面试题汇总

文章目录 1. Java1.1. TCP三次握手/四次挥手1.2 HashMap底层原理1.3 Java常见IO模型1.4 线程与线程池工作原理1.5 讲一讲ThreadLocal、Synchronized、volatile底层原理1.6 了解AQS底层原理吗 2. MySQL2.1 MySQL索引为何不采用红黑树&#xff0c;而选择B树2.2 MySQL索引为何不采…

JVM(类加载机制)

类加载就是 .class 文件, 从文件(硬盘) 被加载到内存(元数据区)中的过程 类加载的过程 加载: 找 .class 文件的过程, 打开文件, 读文件, 把文件读到内存中 验证: 检查 .class 文件的格式是否正确 .class 是一个二进制文件, 其格式有严格的说明 准备: 给类对象分配内存空间 (先在…

【C++干货基地】面向对象核心概念 | 访问限定符 | 类域 | 实例化 | 类对象模型

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 哈喽各位铁汁们好啊&#xff0c;我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发&#xff0c;不知道各位的…

一分钟了解深度学习算法

自从20世纪40年代起人工智能&#xff08;AI&#xff09;问世以来&#xff0c;学者们不懈探索着如何使机器具备模拟人类学习能力的能力。随着计算性能的不断提升和算法的演进&#xff0c;深度学习算法已成为AI领域的核心技术。本文将简述深度学习算法的概念、构成要素、应用范围…