当前位置: 首页 > news >正文

JavaWeb学习|JSP相关内容

1.什么是JSP

Java Server Pages: Java服务器端页面,也和Servlet一样,用于动态Web技术!

最大的特点:
。写JSP就像在写HTML
。区别:
。HTML只给用户提供静态的数据
。JSP页面中可以嵌入JAVA代码,为用户提供动态数据

JSP最终也会被转换成为一个ava类!
JSP本质上就是一个Servlet

在SP页面中;
只要是JAVA代码就会原封不动的输出;
如果是HTML代码,就会被转换为:
1 out.write("<htmI> r n");
这样的格式,输出到前端!

以下是练习JSP内容项目需要导入的依赖

 2.创建一个Web项目流程

首先用idea建立一个空Maven项目(或者直接建立的时候点maven什么webapp那个),空Maven建立出来后先点如下图中的红框部分完整建立好项目,之后补齐java和resourcs目录并赋蓝和黄

之后没有web目录,需要按照如下图红框部分增加web目录,上述依赖也在pom中导入好,项目完整建立

 之后在index.jsp中练习jsp的使用,java语言可以与html相交在一起,如下图几个例子

 

运行访问观察页面

 第一个里写java代码,第二个是给一个值,第三个jsp声明,第四个注释

 3.遇到500,400的访问错误,设置对应的页面

当我们的一个jsp文件中,出现了如下图所示的错误,那么运行程序,访问该页面,则会报一个500错误的页面,非常难看,我们可以使用自定义页面

 

 我们首先在web目录下创建一个error目录,再建一个针对500错误的jsp页面文件,首先在会出错的那个jsp页面文件中加入红框所示的代码,一旦出错,则网页直接跳转至error/500.jsp的jsp页面文件内容,

 我们可以在网上找一个500错误的好看的图片,在web目录下建立一个image目录专门用来存放我们用的图片文件,然后在500.jsp页面文件中加入我们自己找的图片,如果错误页面跳转至这个我们自定义的500错误页面,则我们选的图片会直接被显示在页面上,更加好看

 

 我们也可直接在web.xml中设置多个错误页面需要跳转的自定义页面

 4.先自己制作一个网页中通用的头部和尾部的jsp网页文件,我们可以快速的加在一个新的页面中去展示出来

5.JSP内置的对象及作用域

共四个对象,可以来存一些键值对的数据

 

pageContext.setAttribute( s:"name1",o:"泰疆1号"); //保存的数据只在一个页面中有效request.setAttribute("name2","泰疆2号");//保存的数只在一次求中有效,请求转发会带这个数据session.setAttribute("name3""秦3号");/保存的数据只在一次会话中有效,从打开览器到关闭浏览器application.setAttribute("name4","秦疆4号"); //存的数据只在服务器中有效,从打开服务器到关闭服务器

当我们换了一个jsp页面文件后,发现第一个和第二个因为作用域超了,所以值取不出来显示不到页面上去了

 

 我们也可用如下方法,只用pageContext,通过设置第三个参数,来调整其作用域,能达到上述四个对象的作用域效果

 可用如下代码实现jsp页面文件的转发(网页地址不变,网页内容为转发到的网页内容,重定向的话网页的地址就直接会发生变化)

 几个jsp内置对象的具体应用场景

 我们在对一个页面进行转发时,可以在地址栏中带几个参数,方便转发后的网页文件可以取参数

http://www.lryc.cn/news/115457.html

相关文章:

  • Springboot后端通过路径映射获取本机图片资源
  • 【IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 构建鸢尾花决策树分类预测模型】
  • 亚马逊 EC2服务器下部署java环境
  • CTF流量题解http1.pcapng
  • 若依vue前端有全局用户信息变量吗
  • 什么是Milvus
  • 如何快速实现三菱FX3U程序的无线下载?
  • Flink源码之RPC
  • 【LeetCode 75】第二十四题(2390)从字符串中移除星号
  • 通向架构师的道路之weblogic的集群与配置
  • SpringBoot 项目创建与运行
  • FOHEART H1数据手套:连接虚拟与现实,塑造智能交互新未来
  • MyBatis学习笔记3
  • ES6学习-Symbol
  • 【Redis】使用Docker镜像配置集群时的Operation timed out问题
  • Java 生产初学常用注解
  • mousedown拖拽功能(vue3+ts)
  • 【论文阅读】基于深度学习的时序异常检测——TransAD
  • NLPCC 出版部分相关源码记录
  • 【Windbg】通过网络调试windows内核
  • 代码随想录算法训练营之JAVA|第二十四天| 93. 复原 IP 地址
  • 网络安全 Day30-运维安全项目-堡垒机部署
  • 电脑文件夹备份命令
  • RocketMQ Learning(一)
  • libmpv使用滤镜处理视频进行播放
  • Harbor.cfg 配置文件参数详解
  • 模仿火星科技 基于cesium+ 贴地测量+可编辑
  • 模仿火星科技 基于cesium+角度测量+高度测量+可编辑
  • Codeforces の 动态规划
  • 数学建模-爬虫系统学习