您的位置:首页 > 编程语言 > Java开发

Java web学习入门

2015-06-09 11:03 399 查看

JSP绝对路径获取

在一个JSP页面中,我们要引用web目录下的文件,比如Javascrip或CSS文件,的时候。通常需要用绝对目录来进行引用。这样可以避免因为目录变动导致引用文件找不到的情况,常用方法如下。

一、使用${pageContext.request.contextPath}

代码"${pageContext.request.contextPath}"可以获取到部署的应用程序名,这样在部署后,路径依然是正确的。
例如:
1 <!--使用绝对路径的方式引入CSS文件-->
2 <link rel="stylesheet" href="${pageContext.request.contextPath}/themes/default/css/ueditor.css" type="text/css"/>
3 <!--使用绝对路径的方式引入JavaScript脚本-->
4 <script type="text/javascript" src="${pageContext.request.contextPath}/ueditor1_3_6-gbk-jsp/ueditor.config.js"></script>
使用java代码<%=request.getContextPath()%>和使用${pageContext.request.contextPath}达到同样的效果

<img <%=request.getContextPath()%>/1.png />

二、基本概念

2.1 web开发相关知识

web就是网页的意思,用于表示Internet服务器上供外界访问的资源。

web一般分为:

1.静态web资源:像html页面等,供访问的数据是不变的;
2.动态web资源:web页面的数据是程序产生的,不同时间,方式访问一个web页面,其内容可能是变化的;

静态web技术:html;
动态web技术:JSP/Servlet、ASP、PHP等;
在Java中,动态web资源开发技术统称为Javaweb;

2.2 web应用程序

web应用程序,是指供浏览器访问的程序,例如有a.html、b.jsp......等多个web资源。将其放置在一个目录下,以组成一个web应用;
一个web应用,是由多个静态、动态web资源组成的。

2.3 静态web

*htm、*html,这些是网页的后缀,如果现在在一个服务器上直接读取这些内容,那么意味着是把这些网页的内容通过网络服务器展现给用户。整个静态WEB操作的过程图如下:



在静态请求的时候,浏览器通过网络连接到服务器上,使用http协议发起一个请求(Request),告诉服务器所需的页面,而后,服务器根据需求查询文件系统,去除内容,返回给浏览器,而后浏览器渲染解析web资源,得到显示页面。

静态web的缺点:

1、web页面中的内容无法动态更新,所有的用户每时每刻看见的内容和最终效果是一样的。

为了可以让静态的web更加生动,所以加入了javascrip来完成一些页面显示上的特效。这些特效是借助于浏览器呈现的,数据在服务器上并无变化。
工具有:

JavaScript
VBScript

JavaScript的使用最多。

2、静态web无法连接数据库,无法实现和用户的交互
使用数据库保存数据是大多数系统的选择,以为数据库可以对数据进行方便的管理,增删查改,等操作都可以通过标准的SQL语句完成。

2.4 动态web应用程序

动态web应用,不是指web页面会动,而是其展示的数据是动态生成的,其主要的特征是:“web页面的展示效果因人因时而变”,而且动态web具有交互性,web页面的内容可以动态更新。其流程图如下:



动态web中,程序依然使用客户端和服务器,客服端依然是用浏览器,通过网络,连接到服务器,并使用http协议发起请求(Request),现在的所有请求都先经过一个web server plugin(服务器插件)来处理,此插件可以区分静态资源请求和动态资源请求。
如果服务器插件发现用户请求是静态资源(*.htm或*.html)请求,那么将把请求直接交给服务器,之后web服务器从文件系统中取出内容,返回给客户端浏览器进行解析。
如果服务器插件发现是动态资源(*.jsp、*.asp/*.aspx、*.php)请求,则先把请求交给web container,在web container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑成一个页面返回给web服务器,再发送到客户端浏览器进行解析。

2.5 动态web应用的实现手段

主要手段有以下几种:

Microsoft ASP,ASP.NET
PHP
JAVA Servlet/JSP

1)Microsoft ASP、ASP.NET

微软公司动态web开发是比较早的,而且最早在国内流行的是ASP。ASP就是HTML语言中加入了VB脚本,但是标准的开发应用应该是使用ASP+COM,但是实际中,在开发ASP的时候基本上都在一个页面中写上成百上千的代码,页面代码极其混乱。
ASP本身有开发平台的限制:Windows+IIS+SQL Server/Access,ASP只能运行在Windows操作系统上,ASP现在基本上已经淘汰。现在大都使用ASP.NET进行开发,ASP.NET在性能上有了很大改善,而且开发迅速,但是依然受限于平台。ASP.NET中主要使用C#语言。

2)PHP

PHP开发速度很快,功能强大,跨平台,而且代码简单。

3)Servlet/JSP

这是sun公司主推的B/S架构的实现语言,是基于JAVA语言发展起来,应为JAVA语言足够简单,而且很干净。
Servlet/JSP技术的性能也是非常高的,不受平台限制,各个平台基本上都可以使用。而且在运行中是使用多线程的处理方式,所有性能非常高。
sun公司最早推出的web技术是servlet,servlet本身使用的时候有一些问题,所有的程序都是采用JAVA代码+html的方式编写的,即,要使用JAVA输出语句,一行一行地输出所有html代码,之后,sun公司受到了ASP的启发,发展出了JSP(Java Server Page),JSP某些代码的编写效果与ASP非常相似。

三、web服务器

3.1 web服务器简介

1)web服务器是指驻留于因特网上某种类型的计算机程序,是可以向发出请求的服务器提供文档的程序。当web浏览器(客户端)连到服务器上病请求文件时,服务器将处理该请求并将文件反馈到浏览器上,附带的信息会告诉浏览器如何查看文件。
2)服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求,服务器才会响应。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: