范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

经典技术回顾和借鉴JSP编程

  前言:在CGI(通用网关接口)编程风行的日子,人们纷纷寻思简化并让其更加灵活的新方法和新技术,包括PHP、JSP、ASP。1997年SUN公司推出了servlet,1999年初,SUN公司推出了JSP,实际上在servlet基础上修改而成。JSP即Java服务器页面(Java Server Page),将HTML和JAVA代码使用某种方式结合起来,完成前后端的有效交互。本文通过JSP历史回顾和应用总结来审视过去和开拓未来。1.从实例项目入手
  其实,从现在看来JSP依然极具魅力,据了解很多JSP老项目还在维护。下面使用STS作为IDE构建一个实例项目,先体验其效果。1.1 动态web项目模板
  如下图,使用new dynamic web project创建项目:
  1.2修改文件编码
  进入preferences修改JSP文件的编码:
  1.3 编写简单的JSP文件
  新增一个JSP文件到WebContent目录,如下
  然后检查并修改编码,应该都是UTF-8,如下图:
  如果不是,就修改。1.4运行和测试
  选中项目名称,点邮件菜单的Run as ...-->Run on server
  之后出现如下界面:
  若没有现存的tomcat server,就自己加一个。点Finish。然后自动调用chrome,界面如下:
  自动调用浏览器设置的地方是windows-->Web browser菜单:
  1.5增加功能:显示IP地址
  (1)显示ip地址:getRemoteAddr
  (2)变量声明<%! %>
  (3)表达式<%=%>
  2.JSP语言介绍2.1语法
  语法
  描述
  <%-- 注释 --%>
  JSP注释,注释内容不会被发送至浏览器甚至不会被编译
  HTML注释,通过浏览器查看网页源代码时可以看见注释内容
  <%
  代表静态 <%常量
  %>
  代表静态 %> 常量
  "
  在属性中使用的单引号
  "
  在属性中使用的双引号 2.2指令
  指令
  描述
  <%@ page ... %>
  定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
  <%@ include ... %>
  包含其他文件
  <%@ taglib ... %>
  引入标签库的定义,可以是自定义标签 2.3Page指令属性
  属性
  描述
  buffer
  指定out对象使用缓冲区的大小
  autoFlush
  控制out对象的 缓存区
  contentType
  指定当前JSP页面的MIME类型和字符编码
  errorPage
  指定当JSP页面发生异常时需要转向的错误处理页面
  isErrorPage
  指定当前页面是否可以作为另一个JSP页面的错误处理页面
  extends
  指定servlet从哪一个类继承
  import
  导入要使用的Java类
  info
  定义JSP页面的描述信息
  isThreadSafe
  指定对JSP页面的访问是否为线程安全
  language
  定义JSP页面所用的脚本语言,默认是Java
  session
  指定JSP页面是否使用session
  isELIgnored
  指定是否执行EL表达式
  isScriptingEnabled
  确定脚本元素能否被使用 2.4行为标签
  行为标签语法:
  语法
  描述
  jsp:include
  用于在当前页面中包含静态或动态资源
  jsp:useBean
  寻找和初始化一个JavaBean组件
  jsp:setProperty
  设置 JavaBean组件的值
  jsp:getProperty
  将 JavaBean组件的值插入到 output中
  jsp:forward
  从一个JSP文件向另一个文件传递一个包含用户请求的request对象
  jsp:plugin
  用于在生成的HTML页面中包含Applet和JavaBean对象
  jsp:element
  动态创建一个XML元素
  jsp:attribute
  定义动态创建的XML元素的属性
  jsp:body
  定义动态创建的XML元素的主体
  jsp:text
  用于封装模板数据
  使用bean是最好用的行为标签,例如,我们创建一个java类:
  然后,在JSP中使用useBea/setProperty/getProperty三个行为标签:
  测试:
  2.5隐含对象(默认创建的对象)
  对象
  描述
  request
  HttpServletRequest 类的实例
  response
  HttpServletResponse 类的实例
  out
  PrintWriter 类的实例,用于把结果输出至网页上
  session
  HttpSession 类的实例
  application
  ServletContext 类的实例,与应用上下文有关
  config
  ServletConfig 类的实例
  pageContext
  PageContext 类的实例,提供对JSP页面所有对象以及命名空间的访问
  page
  类似于Java类中的this关键字
  Exception
  Exception 类的对象,代表发生错误的JSP页面中对应的异常对象 2.6判断语句
  判断语句包括两种:if else和switch case
  示例如下:
  2.7循环语句
  循环语句包括两种:for和while
  示例如下:
  2.8运算符
  类别
  操作符
  结合性
  后缀
  () [] . (点运算符)
  左到右
  一元
  ++ - - ! ~
  右到左
  可乘性
  * / %
  左到右
  可加性
  + -
  左到右
  移位
  >> >>> <<
  左到右
  关系
  > >= < <=
  左到右
  相等/不等
  == !=
  左到右
  位与
  &
  左到右
  位异或
  ^
  左到右
  位或
  |
  左到右
  逻辑与
  &&
  左到右
  逻辑或
  ||
  左到右
  条件判断
  ?:
  右到左
  赋值
  = += -= *= /= %= >>= <<= &= ^= |=
  右到左
  逗号
  ,
  左到右  2.9变量类型
  布尔值(boolean):true 和 false;
  整型(int):与 Java 中的一样;
  浮点型(float):与 Java 中的一样;
  字符串(string):以单引号或双引号开始和结束;
  Null:null。2.10表单处理
  以下提供一个例子来说明:
  (1)创建FormProcess.jsp文件:
  其中提供了两个input输入框。
  (2)再创建FormProcessMain.jsp文件,如下:
  其中使用request对象的getParameter方法来获取Get参数。2.11过滤器
  JSP过滤器实际上和Servlet过滤器一样。
  以下通过示例来说明:
  (1)在web.xml中增加一个过滤器:
  (2)然后创建过滤器处理类com.hunting.LogFilter,如下:
  2.12JSTL(JSP标准标签库)
  (1)核心标签:
  标签
  描述
  用于在JSP中显示数据,就像<%= ... >
  用于保存数据
  用于删除数据
  用来处理产生错误的异常状况,并且将错误信息储存起来
  与我们在一般程序中用的if一样
  本身只当做和的父标签
  的子标签,用来判断条件是否成立
  的子标签,接在标签后,当标签判断为false时被执行
  检索一个绝对或相对 URL,然后将其内容暴露给页面
  基础迭代标签,接受多种集合类型
  根据指定的分隔符来分隔内容并迭代输出
  用来给包含或重定向的页面传递参数
  重定向至一个新的URL.
  使用可选的查询参数来创造一个URL
  (2)格式化标签:
  标签
  描述
  使用指定的格式或精度格式化数字
  解析一个代表着数字,货币或百分比的字符串
  使用指定的风格或模式格式化日期和时间
  解析一个代表着日期或时间的字符串
  绑定资源
  指定地区
  绑定资源
  指定时区
  指定时区
  显示资源配置文件信息
  设置request的字符编码
  (3)SQL标签:
  标签
  描述
  指定数据源
  运行SQL查询语句
  运行SQL更新语句
  将SQL语句中的参数设为指定值
  将SQL语句中的日期参数设为指定的java.util.Date 对象值
  在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行
  (4)XML标签:
  标签
  描述
  与<%= ... >,类似,不过只用于XPath表达式
  解析 XML 数据
  设置XPath表达式
  判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体
  迭代XML文档中的节点
  和的父标签
  的子标签,用来进行条件判断
  的子标签,当判断为false时被执行
  将XSL转换应用在XML文档中
  与共同使用,用于设置XSL样式表 3.JSP历史
  下面从前后端分离角度展现JSP的产生和发展脉络。3.1互联网的产生
  1957年美国国防部(DoD)组建了高级研究计划局(ARPA)。1961年7月,MIT工程师Leonard Kleinrock发表Information Flow in Large Communication Nets论文。1962年8月, MIT工程师J.C.R. Licklider和W. Clark发表On-Line Man Computer Communication论文。1967 2月,在ARPA IPTO PI会议上,Larry Roberts组织了有关ARPANET设计方案的讨论。互联网雏形ARPANET由此产生。
  互联网最初的目的是访问和复制文件从一台计算机到另一台远程计算机,两台计算机之间有网络,但速度慢,而且经常专用于大学或者研究机构是昂贵的,不支持大规模用户。1970年,ARPANET主机开始使用网络控制协议(NCP),这就是后来的传输控制协议(TCP)的雏形。
  人们基于TCP/IP构建了更快的网络,其中应用层文件传输协议(FTP)规范提供了交换这些文件的标准方法。1973年,文件传输协议(FTP)推出,用于在异构系统之间交换文件。FTP传输的文件并不能有效查看,因此发明了超文本标记语言(HTML),使我们能够在互联网上看到文档。3.2万维网的产生
  1989年蒂姆伯纳斯-李写了一份关于建立一个通过网络传输超文本系统的报告,其中创建了单行 HTTP 协议,这个协议在1991年被命名为HTTP/0.9,万维网由此产生,1996年超文本传送协议HTTP 1.0发布。
  尽管FTP可以传输HTML文件,但是并没有提供有效小文件传输机制和无状态管理能力,超文本传输协议(HTTP)才被发明出来专门用于传输HTML文档,HTTP是一种无连接/无状态协议,这使得许多短连接更加有效,而且可以不使用密码就可以获取HTML文档,这让万维网真正到来,真正体现了互联网的快捷、免费思维。3.3通用网关接口的产生
  上面提到了TCP/IP,HTTP,FTP都是通信管道,后来大家把注意力转向内容。我们感兴趣的文件随着IT技术的发展而快速爆发,例如数据库快速发展导致各种应用系统快速发展。同时,数据的更新频度更加快速,这种即时信息推动了互联网流量快速增长。通过基于HTTP的HTML,最终用户可以浏览位于远程服务器上的文件。
  当时,远程服务器属于局域网,局域网连接到互联网需要专用设备,可惜的是这种专用设备并不好用(直到后来路由器和交换机被思科发明出来),因此通用网关接口(CGI)规范被制定出来,它允许Web服务器超越文件服务器并从内部数据库中获取数据,并动态更改HTML。
  最初,CGI是在1993年由美国国家超级电脑应用中心(NCSA)为NCSA HTTPd Web服务器开发的,当年NCSA内部有一份简单的CGI规范说明,后来在1997年Ken Coar领导的团队制定了CGI1.1规范,并提交RFC。CGI规范是Web应用程序开发中的一个重大突破,确保了相同的CGI程序在不同的Web服务器上工作。
  CGI成为传递动态内容的最常用手段。只是互联网发展太快了,CGI的性能无法跟上,每个对CGI脚本的请求都会产生一个单独的进程。这种设计让CGI在高峰负载时也消耗大量资源。解决方案非常多,功能性和可伸缩性成为关键。
  许多CGI替代者都采用服务器端编程技术来实现业务逻辑,包括ASP、ColdFusion、PHP和Perl等等,其中至今仍然在大量使用的是PHP ,PHP 继承自一个老的工程,名叫 PHP/FI,PHP/FI 在 1995 年由 Rasmus Lerdorf 创建,最初只是一套简单的 Perl 脚本,用来跟踪访问他主页的人。然后,即使是PHP,最终由于可移植性和面向对象的编程设计,Java超越了PHP和其他CGI平台。3.4 JSP的产生
  Java自1991年诞生以来已经走过了很长的一段路,当时Sun公司推出了"绿色计划",试图集成数字消费设备,如电视机、CD播放机和计算机。OAK(名字来自高斯林窗外的一棵橡树!)诞生了,但直到出现HotJava和小程序,才开始活跃起来。1995年,Sun发布了开源Java,向微软发起了挑战,反响巨大。这促使Java深入到服务器端开发领域。
  Sun在Java中加入了Internet功能,并在1997年6月发布了servlet接口。servlet以CGI替代为目标。与CGI为每个请求启动一个进程不同,servlet使用更细粒度的线程在单个进程中运行。servlet采用了更有效的体系架构,能够应对互联网上的复杂情况。Java servlet为开发Java Web组件提供了基础。servlet优点是每个额外的并发请求带来的额外开销非常小。
  servlet技术需要真正的Java编程技能才能有效应用,外观和良好体验为web应用带来了巨大方便,但是图像支持还不是那么良好。于是Sun公司在1998年发布了JavaServer Pages (JSP),这来自于微软ASP的启发,也有些人说是复制的,它使得编写动态HTML页面变得容易。
  使用JSP的使用非常简单,有些工具(例如Dreamweaver)能让非程序员来构建WWW网站前端页面,当然要servlet带动后端服务器代码(例如javabean)才能完成完整的WWW网站构建工作,这样构建的WWW网站具有模块化、可维护、可伸缩和可移植优点,从而完成简单网站到复杂Web应用程序的转变,从而实现前后端分离。
  JSP官方版本1.0和1.1都出现在1999年,都很受欢迎,版本1.2出现于2001年,是目前最流行的实现。3.5 Node的产生
  JSP终究还是含有Java代码,前后端没有彻底分离,因此人们在2009年发明了node-js,这让前端开发人员崛起,他们单纯使用HTML+CSS+JavaScript前端语言就能完成前端页面的开发,而不需要使用含有各种后端交互印记的标签。
  于是,基于node-js的React、Angela、VUE框架成为潮流。

机构近一周春节期间跟团游预订量同比增长近7倍北京商报讯(记者吴其芸)1月6日,据飞猪数据,近一周机票火车票预订量环比上周增长近5成,节前客流高峰预计1月14日前后到来。春节期间的长线游需求也在迅速恢复,近一周春节期间的跟团游湖湘年味图文视频互动征集我家春节有花样!在2023年春节即将到来之际,湖南红网论坛推出湖湘年味互动征集,面向广大网友征集如下图文视频内容。征集内容一晒年俗年夜饭打糍粑办年货杀年猪晒腊味做豆腐贴春联舞龙灯等二说见闻文化传承可以出发!去丽江古城传播丽江新声音做有价值的内容看见丽江可以出发了,就这个冬天去丽江古城。不用再迟疑,不必再等待,重拾自由和勇气,说走就走!山不言,城不语,人,该在路上。为什么去丽江古城?因为,它是心早该火了!拉萨周边这个低调惬意的县城,简直太适合漫游了摄图网图第一次到西藏旅行很多人的首选都是日光城拉萨看世界上海拔最高的宫殿布达拉宫到八廓街感受惬意的藏式慢生活到罗布林卡观赏风格独特的宏伟建筑和来自喜马拉雅山的奇花异草到老拉萨的中心张一山,为何走到今天这一步2004年,情景搞笑剧家有儿女开拍!不管是编剧还是演员,都是全国顶尖的。剧中小演员的选择,却让剧组犯了难。剧组招小演员的广告每天都在放,在张一山父亲望子成龙念头驱使下,急忙带着儿子恒大地产原总裁被调查,多名下属失联,曾经手数百亿融资自中国恒大(03333。HK)债务违约以来,外界始终密切关注该集团的一切进展。尤其谁将为数额巨大的债务窟窿负责,又是谁会承担相应的法律责任?近日,随着中国恒大旗下之恒大地产原总裁柯回眸2022守牢底线抓发展稳中求进促振兴回望2022年甘肃巩固拓展脱贫攻坚成果全面推进乡村振兴新甘肃甘肃日报记者洪文泉2022年是党的二十大召开之年,是实施十四五规划承上启下之年,也是乡村振兴全面展开关键之年。稳中求进,接续奋斗。这一年,甘肃坚持把巩固拓展脱贫攻坚成果放在突整牙笑起来反而会不自然吗?近日,小彩虹徐梦洁出席活动因笑容变了引发网友热议,冲上了热搜。正是这张照片引发了网友的热议,娃娃脸的徐梦洁一直以来都拥有超甜的笑容,而如今这样的露齿微笑,虽然标准却总让人觉得哪里不AI绘画与古代诗词花之意象表现党的二十大报告强调要增强中华文明传播力影响力,那么,如何增强中华文明的传播力与影响力就成为一个非常值得思考的问题。我认为,以AI绘画这种现代艺术形式来表现古代诗词意象,是增强中华文蜂巢能源杨红新技术制造,是TWh时代电池企业取胜的关键一年前的第二届电池日上,蜂巢能源立下了2025年全球产能规划大幅提升的目标,引发业界广泛关注,也让人们好奇,彼时产能还很有限的蜂巢能源要如何将这一宏大目标落地。而时隔一年后,在蜂巢关注什么是云南?什么是云南是日照金山,是高原湖泊是奔涌的大江大河,是盎然的热带雨林还是多民族和谐聚居的美好家园?药山之巅,柴峻峰摄,高清图见画册什么是云南丽江泸沽湖,孙文军摄,高清图见画册什么是云
加快培育特色产业集群工信部出台举措助力中小企业发展新华社北京9月24日电(记者张辛欣)记者近日从工信部获悉,工信部已启动2022年度中小企业特色产业集群申报和推荐,立足具体细分领域,以产业集群方式助力中小企业资源对接要素整合,推进破产清算!又一巨头倒了近日,全球第二大及亚洲第一大工业铝挤压产品研发制造商中国忠旺公告,因公司37家附属公司及公司25家联营公司与辽阳忠旺投资有限公司等191家公司之间存在高度关联性,为公平保障债权人权霍启刚确实不简单,腾讯去香港开银行,还得拉上他来当非执行董事霍启刚又有了新的动作,他受到香港富融银行的邀请,将出任该银行的独立非执行董事。很多人可能都知道,一些大公司都会邀请一些大人物来担任公司的非执行董事,一方面是为公司发展出谋划策,另外喜报传来!中国拿下多个世界第一,全球投资者瞄准中国,西方眼红大家好,欢迎收看本期节目!国际局势纷争不断,硬实力永远是决定一个国家话语权的最重要底牌。近年来,中国的崛起进程加快,美国还妄图采取围堵计划来遏制中国发展,然而越来越多的事实证明,中油价调整消息今天9月24号,各地92汽油95汽油零售限价刚刚过去的本年度第十八次汽柴油价格调整,而本轮油价显而易见的就是本年度的第十九次油价调整了,现在自本轮计价周期以来,国际原油价格反弹国内原油变化率一直处于负值运行当中,且调整幅度也8月国内游戏收入200。07亿元北京商报讯(记者郑蕊韩昕媛)9月23日,伽马数据显示,2022年8月,中国游戏市场实际销售收入200。07亿元,环比下降3。85,高于上月的环比增长率。据介绍,受益于移动游戏,8月国内售价200万,FF91EPA续航里程曝光今日,法拉第未来官方微博发布消息称FF91Futurist获得美国环境保护署颁发的EPA续航里程官方评级,其电动车续航里程达到381英里(约613公里),其表示获得美国环境保护署颁澳电信公司遭黑客攻击近1000万用户信息或被泄露中新网9月23日电据法新社23日报道,由于澳大利亚第二大电信供应商Optus遭到大规模黑客攻击,近1000万澳电信用户的敏感信息可能已经泄露。资料图澳大利亚悉尼的一家Optus店铺牙缝里的牙结石,要如何去除?牢记3个方法,还自己一口好牙众所周知,牙结石是牙周炎发病的重要因素之一,因为牙结石陷在牙龈处,长久不清理,会使牙齿松动,另外牙结石还可吸附细菌或毒素,从而造成牙龈红肿出血以及发炎,所以应积极去除牙结石,防止牙燕麦到底是害人麦,还是养生麦?你不妨详细了解下燕麦在大家印象中,燕麦是健康品,如今,已有很多人喜欢把燕麦当早餐吃,如沏一杯即食燕麦片,把花式燕麦片当零食,三餐主食还可能会吃点燕麦粥,不知从何时起,它成了我们生活中的必需品。其中也不四物汤不是所有月经失调者都可以用四物汤与调经四物汤由四味药物组成当归熟地白芍川芎。1。首先四物汤不是所有月经失调者都可以用。2。四物汤功能作用功能补血活血或养血行气。作用养血疗营,调补经脉。调经作用对四物汤来说,