Jsp与Servlet如何进行数据交互
lipiwang 2024-11-24 18:31 8 浏览 0 评论
在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地址。 -- 服务端发起
相关推荐
- 前端入门——css 网格轨道详细介绍
-
上篇前端入门——cssGrid网格基础知识整体大概介绍了cssgrid的基本概念及使用方法,本文将介绍创建网格容器时会发生什么?以及在网格容器上使用行、列属性如何定位元素。在本文中,将介绍:...
- Islands Architecture(孤岛架构)在携程新版首页的实践
-
一、项目背景2022,携程PC版首页终于迎来了首次改版,完成了用户体验与技术栈的全面升级。作为与用户连接的重要入口,旧版PC首页已经陪伴携程走过了22年,承担着重要使命的同时,也遇到了很多问题:维护/...
- HTML中script标签中的那些属性
-
HTML中的<script>标签详解在HTML中,<script>标签用于包含或引用JavaScript代码,是前端开发中不可或缺的一部分。通过合理使用<scrip...
- CSS 中各种居中你真的玩明白了么
-
页面布局中最常见的需求就是元素或者文字居中了,但是根据场景的不同,居中也有简单到复杂各种不同的实现方式,本篇就带大家一起了解下,各种场景下,该如何使用CSS实现居中前言页面布局中最常见的需求就是元...
- CSS样式更改——列表、表格和轮廓
-
上篇文章主要介绍了CSS样式更改篇中的字体设置Font&边框Border设置,这篇文章分享列表、表格和轮廓,一起来看看吧。1.列表List1).列表的类型<ulstyle='list-...
- 一文吃透 CSS Flex 布局
-
原文链接:一文吃透CSSFlex布局教学游戏这里有两个小游戏,可用来练习flex布局。塔防游戏送小青蛙回家Flexbox概述Flexbox布局也叫Flex布局,弹性盒子布局。它决定了...
- css实现多行文本的展开收起
-
背景在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景:那么,如何通过纯css实现这样的效果呢?实现的难点(1)位于多行文本右下角的展开收起按钮。(2)展开和收起两种状态的切换。(3)文本...
- css 垂直居中的几种实现方式
-
前言设计是带有主观色彩的,同样网页设计中的css一样让人摸不头脑。网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础。实现方式备注:...
- WordPress固定链接设置
-
WordPress设置里的最后一项就是固定链接设置,固定链接设置是决定WordPress文章及静态页面URL的重要步骤,从站点的SEO角度来讲也是。固定链接设置决定网站URL,当页面数少的时候,可以一...
- 面试发愁!吃透 20 道 CSS 核心题,大厂 Offer 轻松拿
-
前端小伙伴们,是不是一想到面试里的CSS布局题就发愁?写代码时布局总是对不齐,面试官追问兼容性就卡壳,想跳槽却总被“多列等高”“响应式布局”这些问题难住——别担心!从今天起,咱们每天拆解一...
- 3种CSS清除浮动的方法
-
今天这篇文章给大家介绍3种CSS清除浮动的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。首先,这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。下面我就讲3种常用清除浮动的...
- 2025 年 CSS 终于要支持强大的自定义函数了?
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!1.什么是CSS自定义属性CSS自...
- css3属性(transform)的一个css3动画小应用
-
闲言碎语不多讲,咱们说说css3的transform属性:先上效果:效果说明:当鼠标移到a标签的时候,从右上角滑出二维码。实现方法:HTML代码如下:需要说明的一点是,a链接的跳转需要用javasc...
- CSS基础知识(七)CSS背景
-
一、CSS背景属性1.背景颜色(background-color)属性值:transparent(透明的)或color(颜色)2.背景图片(background-image)属性值:none(没有)...
- CSS 水平居中方式二
-
<divid="parent"><!--定义子级元素--><divid="child">居中布局</div>...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)