Java Web底层(1)

当前Java Web的发展可以说进入到一个极为繁杂庞大的体系,各种框架层出不穷,但是究其本源,其实就是JSP/Servlet/Filter的一种精巧封装,因此了解其底层本质对学习框架并了解其工作原理是十分重要的。本文主要从底层细节开始,阐述Java Web中所需要接触到的底层技术细节。

第一是开发环境的搭建,这里不再复述。这里需要注意的是,J2EE本质上是一套接口规范,针对该接口规范各个产品有不同的实现途径和方法,因此这也是为什么在建立动态网站项目之后,直接书写JSP或者Servlet会报错的原因,因为我们项目并未引入特定的实现,故而如果是用Tomcat做服务器,那么我们就该把对应的servlet.jar和jsp.jar引入到项目中。至于Tomcat无法启动,或双击startup.bat会闪退,一般情况下建议使用CMD命令提示符运行该bat,这样可以报错,多数情况下是找不到JAVA_HOME或JRE_HOME。不过在安装Java时大家都会配置好环境变量,这种错误算是比较少见。如果实在不行,可以用记事本打开startup.bat,直接将JAVA_HOME和JRE_HOME变量硬写到bat中。

第二JavaWeb的底层技术核心是Servlet,Servlet的运行原理本质上相当于远程方法调用,即调用服务器端某一个方法(函数),产生并输出HTML。

第三Servlet技术虽然是最核心的,但是却不是最方便的。后续可以看到,为生成一个HTML页面,Servlet代码中会硬写入很多HTML代码,一方面不利于团队合作,无法将前端后端分离;另一方面当项目十分庞大时,维护代码变得十分困难,每一块的代码都是高度紧耦合的。因此为了实现页面更方便维护,1999年诞生了JSP规范,JSP与ASP/PHP等十分相似,但本质上却有很大的差异,实际上JSP技术是在Servlet技术上构建的,JSP页面会被JSP引擎自动翻译为Servlet,然后再提交给Servlet引擎执行,本质上JSP还是Servlet。这也体现出来Servlet技术是整个Java Web的核心。

原文地址:https://www.cnblogs.com/uestc-luopangzhi/p/10312195.html

时间: 2024-10-05 14:50:36

Java Web底层(1)的相关文章

Java Web基础(HTML、Servlet/JSP)

要成为牛逼的JavaWeb程序员, Java Web的基础非常重要,现在有各种成熟的设计框架例如JQuery.Spring.Struts.Mybatis,将Java Web基础的复杂且通用的逻辑进行封装,减少了程序员的代码量,提高了编码效率,但是这些框架非常不利于我们了解Java Web底层如何运作,甚至不知道HTML(HyperText MarkupLanguage).HTTP(HyperText Transfer Protocol).URL(Uniform Resource Locator)

基于IBM Bluemix部署Java Web项目实战演练

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要介绍了IBM Bluemix,并详细说明了如何部署Java Web项目,如何添加MySql服务.最后,提出了自己的一些看法.  文章目录 一.Bluemix简单介绍 二.BlueMix空间申请试用 三.BlueMix创建Cloud Foundry应用 四.添加新的服务 五.总结 一.Bluemix 简单介绍 1.Bluemix 带来了什么        Bluemix 致力于解

Java Web的数据库操作(一)

一.JDBC技术 1.JDBC简介 JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与数据库系统之间假期了一座桥梁. JDBC由一组用Java语言编写的类和接口组成,它对数据库的操作提供了基本方法,但由于数据库种类跟多且多有不同,所以对数据库的细节操作由数据库厂商进行实现,且厂商需要提供数据库的驱动程序,下图为Java程序与数据库相交互的示意图: 2.JDBC连接数据库的过程 l 

Java WEB 笔记

1. 部署并启动 tomcat 服务器 1). 解压 apache-tomcat-version 到一个非中文目录下 2). 配置一个环境变量,JAVA_HOME(指向 JDK 安装目录)或 JRE_HOME 3). 通过双击 apache-tomcat-version\bin 目录下的 catalina run 或 startup.bat,启动服务器,catalina.bat 4). 可以在浏览器中输入 localhost:8080 来检验 Tomcat 安装是否正确 5). 若已经启动了一个

JAVA WEB 环境的搭建及所需的技术简介

web 开发,有点头疼,从最初一点一点开始查找,服务器查了好久才知道是什么意思,╮(╯▽╰)╭ 还有,最近再练盲打, 祝我成功咯~ 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同

[原创]java WEB学习笔记28: 会话与状态管理Cookie 机制

1.会话与状态管理 1)背景 ① HTTP协议是一种无状态的协议,WEB服务器本身不能识别出哪些请求是同一个浏览器发出的 ,浏览器的每一次请求都是完全孤立的: ② 作为 web 服务器,必须能够采用一种机制来唯一地标识一个用户,同时记录该用户的状态: ③ 问题:怎么才能实现网上商店中的购物车呢:某个用户从网站的登录页面登入后,再进入购物页面购物时,负责处理购物请求的服务器程序必须知道处理上一次请求的程序所得到的用户信息. 2)会话和会话状态 ① WEB应用中的会话:指一个客户端浏览器与WEB服务

在Azure Cloud Service中部署Java Web App(1)

Microsoft Azure是一个开放的,灵活的云平台,除了对自家的.Net平台有良好的支持外,对于各种开源的软件,语言,工具,框架都有着良好的支持,比如Java,Php,Python等等,你可以使用自己喜欢的语言开发任何应用部署在Azure的web site或者云服务中. Azure的云服务是Azure的一个PAAS平台,同样支持多种不同的语言和框架,并且可以基于多种不同的阈值如CPU负载,队列,定时等等实现Auto scaling等高级功能,如下图所示: 本文简单介绍如何使用Azure所提

Java Web架构知识整理——记一次阿里面试经历

惭愧,从一次电面说起.我个人在某国企做一名软件设计师,国企大家都懂的,待遇一般而且没啥意思,做的方向基本都是操作系统.驱动和工具软件的开发,语言基本都是C/C++.最近也想跳槽,刚好有幸得到了一次阿里的面试机会,于是就试了试. 首先是电话面试,当时正在上班,人多口杂,好不容易找了个没人的地方开始面试.面试的方向是Java Web,面试官很nice,跟朋友一样,一开始问了些比较基础的东西,比如hashmap/hashtable的区别和优缺点,我答得还行,而且对于原理的东西还算讲的比较透彻. Jav

在Azure Cloud Service中部署Java Web App(2)

接上文. 9.在进行发布之前,需要对我们的订阅做一些设置,因为默认情况下,Azure的service end指向的是Azure global的站点,如果我们要将服务发布在Azure的中国站点,需要做下简单的设置,在Eclipse中,打开偏好设置(preference),找到Azure,在service endpoint页面中,选择"windowsazure.才能(China),选择确定: 10. 回到项目,选择myazuredeploy并单击右键,选择Azure,properties,第一项是选