-
Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。
-
软件架构:
- C/S: Client/Server 客户端/服务端
- 在用户本地有一个客户端程序,在远程有一个服务器端程序
- 如:QQ、迅雷…
- 优点:
- 用户体验好
- 缺点:
- 开发、安装、部署、维护麻烦
- B/S: Browser/Server 浏览器/服务端
- 只需要一个浏览器,用户通过不同的网址,访问不同的服务器端程序
- 优点:
- 开发、安装、部署、维护 简单
- 缺点:
- 如果应用过大,用户体验可能受到影响
- 对硬件要求过高
- C/S: Client/Server 客户端/服务端
-
B/S架构详解
- 资源分类:
- 静态资源:
- 使用静态网页开发技术发布的资源。
- 特点:
- 所有用户访问得到的结果是一样的。
- 如文本,图片,音频,视频,HTML,css,JavaScript
- 如果用户请求的静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源
2.动态资源:
- 使用动态网页及时发布的资源。
- 特点:
* 所有用户访问,得到的结果可能不一样。
* 如:jsp/servlet,php,asp…
* 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器
- 静态资源:
- 静态资源是学习动态资源的前提。
- 静态资源:
- HTML:用于搭建基础网页,展示页面的内容
- CSS:用于美化页面,布局页面
- JavaScript:控制页面的元素,让页面有一些动态的效果
- 资源分类:
-
主要框架编辑
Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向对象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。 -
JSP优点:
Java EE标准,这意味着有很大的市场需求和更多的工作机会
上手快速并且相对容易
有大量可用的组件库 -
JSP缺点:
大量的JSP标签
对REST和安全支持不好
没有一个统一的实现。既有SUN的实现,又有Apache的实现——MyFaces。 -
Spring MVC优点:
对Spring MVC覆盖绑定(overriding binding)、验证(validation)等提供生命周期管理与许多表示层技术/框架无缝集成:JSP/JSTL、Tiles、Velocity、FreeMarker、Excel、XSL、PDF 等便于测试——归功于IoC -
Spring MVC缺点:
大量的XML配置文件
太过灵活——没有公共的父控制器
没有内置的Ajax支持 -
Stripes优点:
不需要书写XML配置文件
良好的学习文档
社区成员很热心 -
Stripes缺点:
社区比较小
不如其他的项目活跃
ActionBean里面的URL是硬编码的 -
Struts 2优点:
架构简单——易于扩展
标记库很容易利用FreeMarker或者Velocity来定制
基于控制器或
者基于页面的导航 -
Struts 2缺点:
文档组织得很差
对新特征过分关注 -
Tapestry优点:
一旦学会它,将极大地提高生产率
HTML模板——对页面设计师非常有利
每出一个新版本,都会有大量的创新 -
Tapestry缺点:
文档过于概念性,不够实用
学习曲线陡峭
发行周期长——每年都有较大的升级 -
Wicket优点:
对Java开发者有利(不是Web开发者)
页面和显示绑定紧密
社区活跃——有来自创建者的支持 -
Wicket缺点:
HTML模板和Java代码紧挨着
需要对OO有较好的理解
Wicket逻辑——什么都用Java搞定
Java Web概念概述(适合第一次接触javaweb的同学,很详细,很详细,很详细)
最新推荐文章于 2024-07-12 00:20:35 发布