Java Web Application的最新技术比较与体会

黑马《2023最新JavaWeb开发教程》发布啦~ 阅读详情

 

Java Web Application的最新技术比较与体会

作者:bwwlpnn

关于用Java 来实现Web Application的最新技术,我想不妨从Open Source 的 Portal 实现 -- Jetspeed (http://jakarta.apache.org/jetspeed/site/index.html) -- 作为一个起点。

* Jetspeed 的技术核心是 Turbine 和 Velocity

* Jetspeed 本身不是一个Web Application Server, 不能独自运行,而是以.WAR文件的形式 deploy 到某一个Web Application Server 上才能运行。Tomcat是Jetspeed的开发平台,理论上Jetspeed能运行在任何支持Servlet 2.2/2.3的Web Application Server上。我已经能够把Jetspeed 运行在WebLogic 6.1 sp2 上了,当然要做一些必要的配置。

* Jetspeed 只是开发 Web Application 的一个前端(front end)的framework,是建立在Servlet的基础上的。EJB是开发 n-tier applications 的后端(back end)的framework. 两者可以很好地结合在一起来应用。

* Turbine vs. Struts: 两者都实现了MVC中的view 和 controller的要求。只不过Turbine 在 view 的实现上主要采用了 Velocity, Turbine能支持JSP,但是支持的不好,且不推荐使用JSP (详见下文);Struts 在 view 的实现上只采用JSP。如果要实现controller, 两者不能同时使用。即在一个Web Application中只能用Turbine或Struts两者之一来实现controller. 当然,对于view的实现,两者应该可以同时使用。

* Velocity vs. JSP: 两者都是实现同一功能的template languages. JSP 是 Sun 的标准,Velocity是 Open Source 开发的系统。网上有几篇详尽的文章 (
http://jakarta.apache.org/velocity/ymtd/ymtd.html) 比较两者的异同,由于是Open Source写的,当然偏向Velocity喽。不过我详细读过一遍,文章写得有理有据,全都是developer的经验,并没有推销Velocity之嫌。每篇文章后都有一句:You make the decision. 在Open Source 看来,JSP 是 Sun 开发的一个"不好用"的产品。"不好用"主要体现在: 难于Debug; 没有必要地把简单问题复杂化, 如JSP的先编译再运行;不能防止用户将Java code 嵌入JSP, 从而破坏MVC的设计. 并且Sun 将JSP冠之以"Standard",有“胁天子以令诸侯”之嫌。当然,Struts和Tag Lib将Java code 从JSP中剥离,挽救了JSP。Sun为了保住JSP这个"Sun proprietary product", 只好求助于Struts这棵"救命草".

* 如果不用于Jetspeed portlet的开发,Turbine也是一个很好的开发Web Application的Framework. 全世界30多个developers 经过3 年的开发,将Web Application开发中有共性的问题提出并加以解决。从这个角度看,Turbine 比 Struts 涵盖的范围要多得多。关于Turbine能做什么,可以参考:http://jakarta.apache.org/turbine/turbine-2/services.html ,这个URL列举了Turbine 27个 services, 其中Castor Service 能做 object to relational mapping (OR mapping)。在这些Services之间,和Turbine 与 Web Application 之间都是松耦合(decoupling)的,可以方便地使用。从大的角度看,Turbine 能做:
As a servlet framework with Turbine as the controller.
As a framework of useful code in your application.
As a Object-Relational Tool.
* 掌握Turbine/Velocity要花一些时间,但是从开发Java based Web Application的长远角度来看,花些时间还是值得的。毕竟吸取全世界30多个developers 经过3 年的开发的经验比自己re-invite the wheel强。

先写到这,以后我有什么体会,会继续和大家分享

Java WebJSP中用application记录网页刷新的次数 Web服务器启动时,Web服务器会自动创建一个application对象。application对象一旦创建,它将一直存在,直到Web服务器关闭才消失。我们就可以利用这个特性来记录网页刷新的次数。 1.首先在webapp文件夹下创建一个名为index的JSP 如图所示: 2.接下来就是写代码了 index.jsp的代码: <%@ page contentType="tex... 阅读详情

相关推荐

【重点掌握】Java基础之Javaweb核心技术详解

都说一入Java深似海,从此代码是爱人,但是学习的过程却从来都不轻松。当下,越来越多的互联网企业,招聘Java工程师时,明确写道需熟练掌握JavaWeb技术。作为衔接前后端的重要一环,JavaWeb技术已成为程序员向大佬迈进至关重要的一道坎。然而,逛了一圈发现,JavaWeb这个「磨人的小妖精」学起来太痛苦了!不少同学表示我恨JavaWeb,基础没打好,学到通宵濒临崩溃,学到希望天堂没有计算机 ↓↓↓JavaWeb讲真这么难掌握吗?

wshyb0314的博客 1782

jspapplication对象

1 什么是application对象 ? (1) 当Web服务器启动时,Web服务器会自动创建一个application对象。application对象一旦创建,它将一直存在,直到Web服务器关闭。   一个Web服务器通常有多个Web服务目录 (网站),当Web服务器启动时,它自动为每个Web服务目录都创建一个application对象,这些application对象各自独立,而且和Web

小傅同志的专栏 3840

AI自瞄原理剖析(一)屏幕内容循环截取及代码实现

尽管Yolo框架在推理时其实是可以输入不同大小的图片的,但这些作者大多不会去处理图像尺寸的改变,所以目前大部分开源源码主要是以输入320或者640尺寸的图像为主。只要截图的效率足够快,能够满足一秒采集60张图片,也就是稳定的截图速度达到60帧以上,那么就可以实现内存级别的AI锁死自瞄效果。这里强调了截图速度对于最终实现特定自瞄效果的重要性,只有达到这样的速度标准,才能让整个自瞄相关的功能在内存层面有效地运作起来。在实现自瞄功能的情境下,只需要以游戏准星为中心向外的正方形区域图像就够了,没必要进行全屏截取。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1059

2024年Java最新技术趋势及应用

无论是通过Java 21的新功能提高开发效率,还是通过云原生框架如Spring Boot、Quarkus和Micronaut构建高效的微服务系统,Java依然是现代企业级开发的中坚力量。Java作为一门拥有广泛应用基础的语言,在未来的技术趋势中,仍然将保持强劲的生命力。2024年,Java云原生的深度结合进一步加强,特别是在微服务架构、容器化和Serverless领域,Java展现了出色的适应性和性能。2024年,Java中的人工智能框架和工具得到了显著的发展,特别是在大规模生产环境中的应用更加广泛。

dragon 9721

JavaWeb之内置对象application&封装java代码

目录 一、什么是application; 二、使用application的一个简单案例; 三、学习JavaBean封装java代码; 一、什么是application; 1、application类似于系统的一个"全局变量",用于实现用户之间的数据共享; 2、它可以实现统计在线人数; 3、而它的数据【作用域】是随着浏览器的打开和关闭之间有效的。 1.1application有那些语法? 存值:application.setAttribute(键String,值Object) 取值:..

qq_63492318的博客 2581

JavaWeb技术

JavaWeb学习笔记

weixin_51167048的博客 3142

JSPJava WebJava Application 的概念区别

维度Java WebJSP运行环境JVM(独立运行)Web 服务器(如 Tomcat)依赖 Web 服务器(编译为 Servlet)应用场景桌面 / 控制台程序网络应用(网站、系统)动态网页生成(视图层)核心定位独立应用技术体系(含多种组件)Java Web 中的具体技术依赖网络否(可选)是是(属于 Web 技术)是独立的本地程序;Java Web是基于网络的应用体系,包含 Servlet、JSP技术JSP

墨阳的博客 947

java web application对象_Web应用使用application对象

application对象代表Web应用本身,对于整个Web应用有效,一旦JSP,Servlet将数据放入application中,该数据将可以被该应用下其他所有的JSP,Servlet访问。application对象通常有两个作用:1 在整个Web应用的多个JSP,Servlet之间共享数据2 访问Web应用的配置参数通过application对象在整个Web应用的多个JSP,Servlet之间...

weixin_32989877的博客 1005

解决IDEA无法创建javaweb和没有web Application支持的方案

Intellij IDEA如图新建项目,未出现有java ee 和web application的选项创建项目 无法创建javaweb项目,那创建maven项目,后面再在maven项目里面添加web支持,发现在maven项目里也无法添加web支持,在添加web支持中也没有web application的选项 解决方案1: 打开Project Structure选择Artifacts Delete掉相关war后,到project中右击选择Add Frameworks Supprot添加web支持.

学点的CSDN博客 2万+

JAVA Web application对象

全局应用程序对象application 不同用户的sesion对象互不相同,但有时候用户之间可能需要一个共享对象,当Web服务器对象启动后就产生了这样一个唯一的内置对象application。 任何用户在访问同一Web服务目录的各个页面时,共享一个application对象,直到服务器关闭,这个application对象被取消为止。 application对象也可以进行数据的存储。 applic...

weixin_42649617的博客 766

IDEA配置artifacts中Web Application:Exploded和Web Application:Archive的区别

概念介绍 首先,artifacts是maven中的一个概念,表示项目/modules如何打包,比如jar,war,war exploded,ear等打包形式,一个项目或者说module有了artifacts就可以部署到web应用服务器上了(注意artifact的前提是已经配置好module,...

chunfupang6336的博客 1780

java web application对象

1.application对象的作用 application类似系统的"全局变量",用于实现用户之间的数据共享. 2.application对象的常用方法 1.void setAttribute(String key, Object value):以键/值的方式,将一个对象的值存放到application中 2.Object getAttribute(String key):根据键去获取appli...

ysy_1_2的博客 788

Java Web核心总结

session技术:浏览器访问服务器是会对每个浏览器在服务器中分配一个空间创建一个session对象,该对象ID唯一 sessionID,服务器会将SessionID以cookie方式发给浏览器,当浏览器再次访问服务器时会将sessionID发送给服务器,服务器根据sessionID查找对应的对象(这都是自动处理的,不需要手动添加。HTTP协议:涉及到浏览器的请求格式和服务器的响应格式且承载于TCP协议之上(HTTP是一种无连接的协议,每次请求都需要建立一个新的连接,并在请求完成后关闭连接。

suhfui的博客 1625

当前 Java Web 开发的最新实现方式

当前 Java Web 开发的最新实现方式结合了云原生技术、微服务架构、响应式编程以及现代化工具链,本文介绍核心技术和实践。

山顶听风的博客 781

【针对JavaWeb(第一实验)的改进,看这个吧,2024年您应该知道的技术之一

给大家送一个小福利附高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、准备面试跳槽、自身职业规划迷茫的朋友们。解视频**如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)[外链图片转存中…(img-Y1KGuG5w-1711093495131)]给大家送一个小福利[外链图片转存中…(img-XyD8Bmt0-1711093495131)]附高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。

m0_61408947的博客 648

JAVAWEB最新技术框架整理

JAVAWEB技术框架整理1.基础框架1.1 后台基础框架 分布式:dubbox 统一配置:zookeeper 消息:kafka 服务化:spring spring boot 微服务化框架 spring mvc springframework 持久层:mybatis、hibernate、jedis 项目构建:maven 单元测试:junit、testNG 可视化测试:soapUI、jmeter

cwy52的博客 1万+

JavaWebapplication&JavaBean封装)

一、application 1、application是什么? applicationjsp的内置对象之一,作用于服务器端 类似于全局变量 作用域在服务器的打开和关闭之间有效 application范围:在一个应用服务器范围内有效,当应用服务启动后即创建该对象,并向所有用户所共享 注意:application可以跨浏览器 常用方法: void setAttribute(String key,Object val...

Bugxiu_fu的博客 775

【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知

Docker的监控,可以使用Docker自带的stats命令来获取当前主机上运行中的容器的资源使用情况。 例如:容器的CPU使用率、内存占用、网络IO以及磁盘IO等指标。

景天科技苑 6万+

Discuz精仿闲鱼二手发布Dz源码插件代码

Discuz插件源码上传到网站的/source/plugin/目录到网站/admin.php后台-插件-安装

上一篇: 专家告诉你设计好用网站的窍门
下一篇: 互联网上的密码术
bruce
博客等级 码龄27年 12粉丝 22原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值