java web基础总结
java web基础总结【1】
一.什么是java web服务器
首先来看一下什么是web服务器,它一般指网站服务器,是指一个再互联网一个主机上的一个程序。
它可以解析客户端发送来的遵循http协议的请求,并且经过逻辑业务处理后,以http协议向浏览器等Web客户端提供文档。
互联网上供外界访问的Web资源可以分为两种:一个是静态web资源(如html 页面),指web页面中供人们浏览的数据始终是不变。
另一个动态web资源,指web页面中供人们浏览的数据是由程序动态产生的,不同的时间访问web页面看到的内容各不相同,现在的web页面基本都是动态的。
常用动态web资源开发技术:JSP/Servlet、ASP、PHP等。
一般我们把动态web页面的开发称为javaweb技术,所以通常所说的Java web服务器也可以认为是遵循全部JSP/Servlet规范的容器。
所谓的容器就是它实现了Java定义的JSP/Servlet的接口规范,可以对JSP/Servlet的创建,运行,销毁等整个生命周期进行管理。
servlet 容器的实现是非常复杂的。
但是主要还是实现了三个过程:首先创建一个实现了javax.servlet.ServletRequest 接口或javax.servlet.http.ServletRequest 接口的 Request 对象,并用请求参数、请求头(headers)、cookies、查询字符串、uri 等信息填充该 Request对象;紧接着,创建一个实现了javax.servlet.ServletResponse或javax.servlet.http.ServletResponse 接口的 Response 对象;调用相应的servlet 的服务方法,将先前创建的 request 对象和 response 对象作为参数传入。
接收请求的 servlet 从 request 对象中读取信息,并将返回值写入到 response 对象。
然后把这个response 对象转换成http报文传到客户端。
二.自己实现一个最简单的java web服务器
由于http协议是基于tcp/ip协议之上的,所以只需要使用ServerSocket和Socket就可以实现一个非常简单的http服务器。
下面是一个类似于hello world的最简单,最简陋的http服务器。
没有对请求进行处理,对于所有的客户端请求都返回hello world。
三.常见的几个java web服务器
1. WebLogic
WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范,当然是商业的,所以需要付费。
2. WebSphere
它是IBM公司开发的,支持J2EE规范。
一般用于保险,银行等等核心交易系统。
跟钱有关的业务系统很多都是用的WebSphere Application Server。
所以性能高,同样的也不是免费的。
3. Apache
Apache开源组织有一个很优秀的开源web服务器:Tomcat,在小型的应用系统使用比较广泛,该服务器支持全部JSP以及Servlet规范,现在有很多的商业公司也会在生产环境使用它。
四.Tomcat服务器简介
1. tomcat 的安装
它的下载地址是:http://tomcat.apache.org/.下载时,tar.gz文件是Linux操作系统下的安装版本。
zip文件是Windows系统下的压缩版本。
对于windows版本,下载以后,直接解压,双击 bin 目录下的 startup.bat 文件,或者在命令行下使用命令启动。
输入http://localhost:8080/ 出现一个三条腿的汤姆猫就代表安装成功了。
JavaWeb之JSP基础小结【2】
1.概述
JSP文件是通过三大指令,九大对象以及JSP表达式等与HTML语句结合形成的一个文件,其本质为Servlet。
简单来说,即Java代码+HTML语句。
2.运行原理
每个JSP页面被访问时,即被JSP引擎翻译为一个Servlet源程序,该源程序再被编译成Servlet的class类文件。
之后的执行流程与普通Servlet的执行一致。
Servlet引擎将class类文件装载并翻译执行。
3.九大对象
JSP有9个内置对象,不需要声明就可以使用。
(1)request:实际就是HTTPServletRequest。
(2)response:实际就是HTTPServletResponse。
(3)pageContext:代表当前JSP页面,几乎包含了当前JSP页面的所以信息,也可以从该对象中获取其它八个对象。
(4)session:代表浏览器和服务器的一次会话,是HttpSession的一个对象。
(5)out:可以直接通过该对象的方法在页面输出文字信息或者HTML代码。
(6)application:代表当前WEB应用,是ServletContext对象。
(7)exception:在声明了后可以通过该对象输出异常信息。
(8)config:当前JSP对应的Servlet的ServletConfig对象,若要访问当前JSP的配置参数,需要映射访问才可以。
(9)page:指向当前Jsp对应的Servlet对象的引用 ,但是为object类型。
其中最为常用也最为重要的四个对象按作用域范围如下:
pageContext:作用域为当前JSP页面。
通过引入的文件中的变量等当前页面也可以访问。
但是通过pageContext.include("file")引入文件的变量和参数并不能直接在当前页面使用和修改,该方法的实质是将file中的'内容原封不动地添加在当前页面,可以理解为将HTML页面直接拼接在该位置。
request:作用范围在请求转发的过程中一直有效。
session:作用域为浏览器和服务器的一次会话。
直观表现在浏览器的一次打开与关闭。
应用案例如购物网站中购物车的实现。
application:当前应用装载在服务器中时有效。
该应用从服务器卸载或者重新装载,以及服务器关闭等都会导致该对象失效。
应用案例如网站统计访问人数。
和属性相关的方法:
Object getAttribute(String name)获取指定的属性
Enumerration getAttributeNames()获取所有属性组成的Enumeration对象
removeAttribute(String name)移除指定的属性
setAttribute(String name, Object o)设置属性
4.三大指令
(1)page:声明页面信息或导入内容
① 导入文件所需的jar包。
外部添加的jar包一般存放在Web项目下 WEB-INF\lib、
② 关闭session,session默认打开。
③ 当前页面出错则跳转到"file"页面。
并且该跳转方式为请求转发。
④ 上文的"file"页面,可以对页面错误做处理或说明,可以配合exception对象使用。
⑤ 当前JSP页面的字符编码(JSP文件编码)
⑥ 当前JSP页面的响应类型(服务器发送给浏览器的内容编码)
⑦ 是否使用EL表达式,通常为false
⑧ 指定JSP页面的信息,可以使用getServletInfo()方法获取到该字符串
(2)include指令:将其它文件包含进来与当前页面进行合并。
这类文件通常包括文本、JSP或其他格式的文件。
① 静态引入:通知JSP引擎在翻译JSP页面时,将其他源文件合并到当前JSP页面转换成的Servlet源文件中。
两个源文件合并为一个Servlet源文件。
"file"为相对路径。
②动态引入:该句被执行时程序通过请求转发跳转到"file",执行当中的内容之后再返回执行当前页面的剩余部分,实际是两个Servlet源文件。
(3) taglib: 能够让用户根据需求自定义新的标签,便于功能的实现,但因此也导致了代码易读性不高。
5.其它
(1) JSP表达式:可以直接将表达式中的内容显示在浏览器中
(2) 声明函数
(3)注释
【java web基础总结】相关文章: