网站首页 > 技术文章 正文
在web开发中,经常需要将Jsp中的值,传入到Servlet中,与数据库进行交互拿数据。此篇文章主要分享Jsp与Servlet之间的事情。
什么是Jsp
JSP全名为Java Server Pages,中文名叫java服务器页面,它是运行在服务端动态网页技术。它的访问必须在服务中运行。
JSP运行机制:JSP其本质就是一个Servlet,只是它更加关注于数据的呈现。
Jsp学习路线
1、 Jsp的脚本程序
2、 Jsp的指令元素
3、 Jsp的内置元素
4、 Jsp的九大内置对象及四大作用域
5、 Jsp标签元素的应用2.0(EL、JSTL)
Jsp脚本程序
<% 代码片段 %>
可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
<%! 声明属性和方法 %>
可以声明一个或多个变量、方法,供后面的Java代码使用。
<%= 表达式 %>
表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
Jsp中的指令元素
<%@ page ... %> 定义网页依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include file=”url”%> : 包含其他文件
<%@ taglib prefix=”” uri=””%>: 它能自定义标签,最常用的是使用JSTL。目的就是增强jsp的可读性。
Jsp中动作元素
<jsp:include page=”url” />:它能在jsp中加入一个或者多个页面 -- 动态加载
<jsp:useBean id=”” class=”” />: 它能在jsp页面中直接使用javaBean对象
<jsp:setProperty property=”” name=”” value=”” />:给bean对象中的属性赋值
<jsp:getProterty property=”” name=”” />: 获取bean对象的属性值
<jsp:forward page=”” />: 转发
Jsp九大内置对象
Jsp的内置对象 -- Servlet中的内置对象
request HttpServletRequest 接口的实例
response HttpServletResponse 接口的实例
out JspWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
Exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象
Jsp四大作用域
pageContext
request
session
application
两个重要方法:setAttribute() getAttribute()
Jsp和Servlet如何进行数据交互
1、通过重定向的方式:
response.sendRedirect("重定向的URL地址");实现页面的跳转,但是不能带参数。
2、通过转发的方式:
request.getRequestDispatcher("转发的URL地址").forward(request,response);
实现页面的跳转,并且能通过request.setAttribute(key,value)方式实现数据传输。在jsp中通过request.getAttribute(key)来获取参数的值。
重定向和转发的区别 -- 重要
1、重定向response.sendRedirect("重定向的URL地址"); 在服务端响应并且向浏览器返回302状态,并且将重定向的URL地址通过响应头location=(重定向的URL地址)属性带给浏览器,由浏览器接收并且再次发起请求(再次请求的地址URL地址)。 -- 行为客户端发起
2、转发:request.getRequestDispatcher("转发的URL地址").forward(request,response); 由服务器将要响应的URL地址权限交给JSP来操作,JSP得到并且封装好数据之后响应要转发的URL地址。 -- 服务端发起
- 上一篇: Web服务器、Web容器、servlet的联系
- 下一篇: JSP的 结构(jsp概述)
猜你喜欢
- 2024-09-20 POJO与JavaBean的区别,你知道吗?
- 2024-09-20 JSP的 结构(jsp概述)
- 2024-09-20 Web服务器、Web容器、servlet的联系
- 2024-09-20 为什么要放弃 JSP?(为什么要放弃喜欢的人)
- 2024-09-20 经典技术回顾和借鉴-JSP编程(jsp技术分析)
- 2024-09-20 你知道的不一定是最好的,Java学习JSP知识点总结
- 2024-09-20 关于JSP技术的介绍和相关示例(jsp技术概述)
- 2024-09-20 Servlet 和JSP之间的关系(servlet和jsp的区别)
- 2024-09-20 Javaweb学习(五)JSP技术(jsp+java)
- 2024-09-20 jsp的实质是什么?(jsp的概念是什么)
- 1514℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 564℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 508℃MySQL service启动脚本浅析(r12笔记第59天)
- 486℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 485℃启用MySQL查询缓存(mysql8.0查询缓存)
- 465℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 445℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 442℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)