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上运行在其他计算机中的浏览器发出请求,服务器才会响应。
相关文章推荐
- java处理barCode条形码
- java实现条形码
- jdk 1.6 javax.script使用
- Spring 依赖注入的三种形式
- java.util.concurrent.locks.LockSupport
- spring
- java 中final 和 static
- struts2中<s:url>中文自动编码问题
- Android studio导入eclipse项目
- FatJar for Eclipse4.4(Luna)
- java入门
- java定义和实现接口
- struts2和servlet共存的几种方法
- ID3决策树预测的java实现
- java获取src路径,也就是拼全路径
- Eclipse下properties文件中文乱码的解决方案
- spring数据源配置
- JAVA加密算法(DSA)
- 学生成绩管理系统(java实现)
- 学生成绩管理系统(java实现)