java script 代码放在jsp 还是放在servlet_ServletContext JSP

会话:

四种:1 :Session–保存在服务器上默认的30分

2:Cookie  客户端的,maxAge

3:重写 url - > url;jsessionid=xxxxxxx - > response.encodeRedirectUri(url);

4:隐藏表单  

1:ServletContext

2:JSP–

3:用JSP来重构项目。

1:ServletContext

特点:

1:一个应用程序一个唯一的ServletCOntext对象。在/20160425这个项目中,这个对象只有一个。2:此对象也是一个域对象。setAttribute/getAttribute/removeAttribute

做为域对象,保存所有会话,所有请求,都可以访问到的数据。

对比:

Session只保存当前用户的会话信息。

这个用户在多个页面上跳转和重定向时,共享的数据。

Request只保存当前请求的会话信息。

在forward/incoude在多资源之间转发时,共享数据。

3:生命周期是:当项目启动时,直接创建,当项目关闭时,就会被销毁。

4:此对象由容器创建。

功能:

1:获取在 web.xml中配置的全局初始化参数

在任意的Servlet中通过SerlvteContext对象来获取配置初始化参数:

// 1:获取ServletCOntext对象,以下获取的方式,都是一只对象

ServletContextapp= getServletContext();

app= getServletConfig().getServletContext();

app=request.getServletContext();

app=request.getSession().getServletContext();

// 2:获取初始化参数

Stringname=app.getInitParameter("name");

Stringaddr=app.getInitParameter("addr");

out.print("name is:"+name+"
");

out.print("addr is:"+addr);

2:显示当前项目的真实的目录

//获取项目的真实的目录,如果只有/则表项目项目的根在哪儿,显示的是这个项目的运行目录 - 》Tomcat/webapps/20160425/

StringrealPath=app.getRealPath("/");//

System.err.println("项目的真实的目录:"+realPath);

显示所有相片:

1:获取放相片的真实的目录File对象。

2:遍历里面的所有相片。

protectedvoiddoGet(HttpServletRequestrequest, HttpServletResponseresponse)

throwsServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

PrintWriterout=response.getWriter();

// 1:获取放相片的真实的目录

Stringpath= getServletContext().getRealPath("/photos");

Filefile=newFile(path);

String[]strs=file.list();//[a.jpg,b.jpg,c.jpg]

//2:如何才可以显示所有相片

for(Stringstr:strs){

Stringimg="%22+str+%22";

out.print(img);

}

}

3:做为域对象保存所有人共享的数据,如可以实现聊天程序

//统计这个页面被刷新的次数

Integercount=(Integer)app.getAttribute("count");

if(count==null){

count=1;

}else{

count++;

}

//放回到ServletContext

app.setAttribute("count",count);

out.print("访问量为:"+count);

三个组件:

Servlet

三个域对象

Filter

Listener

2:JSP

Java Server Pages - > Java开发的服务器上的页面  - 》动态页面。

JSP 通常以 *.jsp文件结尾的文件。

*.jsp文件,看上去像是HTML,本质上是Servlet。

1:快速 JSP示例

修改JSP文件生成的编码:

2:详解JSP就是Servlet

运行,显示这个页面:

JSP页面编译过程: one.jsp  > one_jsp.java  -> one_jsp.class

1.jsp   - > _1_jsp.java  - > _1_jsp.class

源代码:

(略)

JSP 文件是Servlet的扩展。里面的开发的html文件。默认都 在_jspService方法中通过out对象来输出。

3:JSP的语法

1:jsp的java代码块 也叫:scriptlets

里面是java代码。

所有开发的java代码。默认都在_jspService方法中。

%>

String name ="Jack";

String addr ="山东济南";

%>


out.print(name);

%>

2:隐藏对象–直接不用声明就可以使用的变量

在java代码块中,可以使用9个隐藏对象

隐藏对象

request

HttpServletRequest

String userAgent = request.getHeader("user-agent");

System.out.println(userAgent);

%>

response

HttpServletRepsonse

response.sendRedirect(request.getContextPath()+"/index.html");

%>

session

httpSession

String id = session.getId();

out.print("
ID is:"+id);

%>

application

ServletContext

String path = application.getRealPath("/");

out.print("


realpath:"+path);

%>

out

JspWriter

是PrintWriter的包装类。

out.print("
ID is:"+id);

%>

config

ServletConfig对象

这个jsp页面在Web.xml配置参数

two-jsp

/WEB-INF/two.jsp

email

我的邮件@我的地址.com

two-jsp

/two.html

配置的初始化参数是:

String mail = config.getInitParameter("email");

out.print(mail);

%>

page

Object

表示当前的JSP类自己

exception

Throwable

表示异常对象

只有当页面配置的指令:

才会有这个对象。

pageContext

PageContext

1:表示页面的域对象。

setAttribute/getAtttribute/removeAttribute

2是一个工具类。

1:获取其他对象

2:操作其他域对象中的值

本质上,所有上面的这些对象,都是_jspService方法的中的参数:

3:输出

Out.printl;n(…);

%>

4:MVC与项目的开发

Model _ 数据封装对象JavaBean

View;展示层–html,jsp

Controller–控制层 用于与用户交互。Servlet。

修改上面的页面,使用JSP输出数据

// 查询

Listlist=dao.query();

//将查询的结果,放到req

request.setAttribute("list",list);

//转发

request.getRequestDispatcher("/jsps/show.jsp").forward(request,response);

显示:

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

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

相关文章

飞猪基于 Serverless 的云+端实践与思考

简介: 过去两年,飞猪前端一直在积极地进行 Serverless 建设和实践,2019 年 - 2020 年我们和集团 Node 架构组、研发平台一起完成了基础能力的建设和业务试点,成为集团率先落地 Serverless 实践的 BU,2020 年 - 2021 年…

unc 目录不受支持_Shopify平台对于店铺模版都提供哪些支持

在自定义Shopify模版之前,请确保您了解可用的支持级别。如果您要进行基本的自定义,则可以从模版开发人员处获取支持。如果您要对模版进行大量更改,请参阅我们的模版支持的其他资源列表。若要了解 Shopify 不支持的自定义,请参阅我…

CSS——定位、CSS高级技巧、修饰属性

1、定位 作用&#xff1a;灵活的改变盒子在网页中的位置 实现&#xff1a; 定位模式&#xff1a;position边偏移&#xff1a;设置盒子的位置 leftrighttopbottom 1.1 相对定位 position&#xff1a;relative <!DOCTYPE html> <html lang"en"> <…

Hologres如何支持亿级用户UV计算

简介&#xff1a; 本文将介绍阿里云Hologres如何基于RoaringBitmap进行UV等高复杂度计算的方案&#xff0c;实现亿级用户万级标签亚秒级分析&#xff0c;帮助用户从Kylin平滑迁移到Hologres&#xff0c;实现更实时、开发更灵活、功能更完善的多维分析能力。 背景介绍 在用户行…

location 拦截所有_电脑广告拦截软件 Adguard Premium

每日一谈我们上个网的时候经常会遇到很多烦人的广告、在线跟踪等&#xff0c;不仅导致你的网站加载速度非常的慢&#xff0c;并且还可能会导致你遇到一些恶意软件和威胁。为了避免这种情况的产生&#xff0c;今天我为大家推荐这款广告拦截软件来阻止你浏览器中的广告&#xff0…

事务消息应用场景、实现原理与项目实战(附全部源码)

简介&#xff1a; 从应用场景出发&#xff0c;给出解决方案与实现原理&#xff0c;并提供整套工业级实现源码。 作者&#xff1a;丁威 活动中心场景介绍 在电商系统上线初期&#xff0c;往往会进行一些“拉新”活动&#xff0c;例如活动部门提出新用户注册送积分、送优惠券活…

request用法_3分钟短文:说说Laravel页面会话之间的数据保存Session用法

引言我们知HTTP请求是没有状态的&#xff0c;两个请求之间没有直接的关联关系。但大多数情况下&#xff0c; 我们需要保持用户的会话间数据的连续性&#xff0c;这时&#xff0c;为了数据安全起见&#xff0c; 有必要在服务器上临时存储一些上下文数据了。这就是 session 设计的…

调研邀请:我们到底需要什么样的低代码平台?

《乔布斯传》中有这样一段话&#xff1a;“有人会说&#xff0c;顾客想要什么产品就提供什么产品&#xff0c;但这并不是我的做事方式。我的职责是在人们还没有意识到需求之前&#xff0c;就研发出他们想要的&#xff0c;我们的任务是搞定那些还没有形成“定论”的事情。”这段…

面向K8s设计误区

简介&#xff1a; K8s 取其精华去其糟粕&#xff0c;是我们程序员应该做的事情。 K8s设计模式 Kubernetes是一个具有普遍意义的容器编排工具&#xff0c;它提供了一套基于容器构建分布式系统的基础依赖&#xff0c;其意义等同于Linux在操作系统中的地位&#xff0c;可以认为是…

电脑word在哪_word是什么?小学生:单词,大学生:论文排版工具

word是什么&#xff0c;对于不同人会有不同的理解&#xff0c;它可能只是一个单词&#xff0c;它也可能是一个排版工具。今天就以我自己的经历给大家讲述一下&#xff0c;人生的不同阶段&#xff0c;word分别是什么。一、小学阶段&#xff0c;好像是一个单词我们那个时候的小学…

Kubernetes 稳定性保障手册:洞察+预案

简介&#xff1a; 稳定性保障是个复杂的话题&#xff0c;需要有效、可迭代、可持续保障集群的稳定性&#xff0c;系统性的方法或许可以解决该问题。 作者 | 悟鹏 来源 | 阿里巴巴云原生公众号 《Kubernetes 稳定性保障手册》系列文章&#xff1a; ​ Kubernetes 稳定性保障手…

为啥学java要看那么多东西_编程语言那么多,为啥学Java的人那么多?

Java一直都是稳居排行榜第一的语言&#xff0c;在未来10年Java都会是最热门的语言之一&#xff0c;因为Java技术具有卓越的通用性、高效性、安全性和平台移植性&#xff0c;它可以跨平台的应用到不同的领域&#xff0c;工作需求足够大。为什么选择学习Java编程语言&#xff1f;…

墨奇科技:生物识别进入可信发展驱动的新阶段

编辑 | 宋慧 供稿 | 墨奇科技 头图 | 付费下载于视觉中国 在好莱坞电影大片中&#xff0c;经常有“换脸”或者指纹开锁的情节&#xff0c;戏中角色通过“戴上”足以以假乱真的“面皮”&#xff0c;或者按下“盗取”的指纹&#xff0c;顷刻之间就改变了身份&#xff0c;从而影…

安卓游戏开发用什么引擎_游戏开发学习第一天————用什么软件

今天开始了虚幻学习的第一天&#xff01;好的&#xff0c;那我们就开始学习做游戏吧&#xff01;始学习做游戏吧学习做游戏吧习做游戏吧做游戏吧游戏吧戏吧吧等等&#xff0c;要学做游戏啊。。。。。。第一步要做什么&#xff0c;我还完全不知道啊喂&#xff01;于是&#xff0…

360浏览器收藏夹_换了一台电脑,浏览器收藏的网站不见了,咋办?

导语&#xff1a;大家知道&#xff0c;用浏览器上网时&#xff0c;重要的网站要及时收藏&#xff0c;方便下次打开。但如果换电脑以后&#xff0c;收藏的网站就不见了。下面以360浏览器为例来说明一下工具&#xff1a;网络收藏夹、360浏览器说明&#xff1a;360的收藏夹就是网络…

Flink 和 Pulsar 的批流融合

简介&#xff1a;StreamNative 联合创始人翟佳在本次演讲中介绍了下一代云原生消息流平台 Apache Pulsar&#xff0c;并讲解如何通过 Apache Pulsar 原生的存储计算分离的架构提供批流融合的基础&#xff0c;以及 Apache Pulsar 如何与 Flink 结合&#xff0c;实现批流一体的计…

Flink 在有赞的实践和应用

简介&#xff1a; 本文介绍了Flink 在有赞的实践和应用&#xff0c;内容包括&#xff1a;Flink 的容器化改造和实践、Flink SQL 的实践和应用、未来规划。 作者&#xff1a;沈磊 一、Flink 的容器化改造和实践 1. 有赞的集群演进历史 2014 年 7 月&#xff0c;第一个 Storm…

用imspost制作catia后处理_这些有趣又精致的模型,都是用3D打印机打印出来的

3D打印已经出现在了生活的方方面面&#xff0c;有相当多别具一格又十分有趣的模型会让你惊艳。今天&#xff0c;小编搜集了一些有趣的3D打印模型&#xff0c;让我们一饱眼福。海边棕榈树来源&#xff1a;Curufin via Cults这个凉爽的棕榈树模型是由几个3D打印模型组合起来实现的…

cdr 表格自动填充文字_做平面广告设计,AI和CDR如何选择?

关于CDR和AI两个软件&#xff0c;很多人都不知道它们有什么区别。今天我就给大家好好整理了一下。不知道两者区别&#xff0c;不知道该选用哪个软件的都来看看下面的AI和CAD教程吧。首先CorelDRAW是一款由世界顶尖软件公司之一的加拿大的Corel公司开发的图形图像软件。其非凡的…

麒麟信安:根植于openEuler,走操作系统自主创新之路

随着信息安全问题日益突出&#xff0c;行业内外也越来越深刻地认识到&#xff0c;核心技术受制于人是我们最大的隐患。而2020年12月8日&#xff0c;CentOS社区宣布CentOS8将于2021年底停止维护&#xff0c;CentOS7将于2024年6月30日停止维护&#xff0c;这一消息的发布&#xf…