当前位置:文档之家› ServletJSP深入详解:基于Tomcat的Web开发 第一章(全)(格式已整理)

ServletJSP深入详解:基于Tomcat的Web开发 第一章(全)(格式已整理)

ServletJSP深入详解:基于Tomcat的Web开发 第一章(全)(格式已整理)
ServletJSP深入详解:基于Tomcat的Web开发 第一章(全)(格式已整理)

Servlet/JSP深入详解:基于Tomcat的Web开发第一章

要掌握Java Web开发,首先就要学会编写Servlet,而要运行Servlet,则需要一个Servlet 容器,本书选用的是Tomcat。下面让我们来了解一下Servlet和Tomcat。

1.1 Web技术的发展

随着Internet的发展,基于HTTP协议和HTML标准的Web应用呈几何数量级的增长,人们的生活在不知不觉中已经被网络悄悄地改变了。在网络普及之前,我们购买图书要去书店,给亲人汇钱要去邮局或者银行……而现在,一切都是这么便捷,你可以在网上购买图书、汇款、缴纳电话费,你甚至可以为远在他乡的女朋友订购一束玫瑰。各种各样的网上业务丰富了我们的生活,节省了我们的时间,提高了我们的工作效率,改善了我们的生活品质。支撑这些网上业务的就是各种各样的Web应用,而这些Web应用又是用各种Web技术开发的。

早期的Web应用主要是静态页面的浏览(如新闻的浏览),这些静态页面使用HTML语言来编写,放在服务器上;用户使用浏览器通过HTTP协议请求服务器上的Web页面,服务器上的Web服务器软件接收到用户发送的请求后,读取请求URI所标识的资源,加上消息报头发送给客户端的浏览器;浏览器解析响应中的HTML数据,向用户呈现多姿多彩的HTML页面。整个过程如图1-1所示。

图1-1 浏览器请求静态页面

随着网络的发展,很多线下业务开始向网上发展,基于Internet的Web应用也变得越来越复杂,用户所访问的资源已不仅仅局限于在服务器硬盘上存放的静态网页,更多的应用需要根据用户的请求动态生成页面信息,复杂一些的还需要从数据库中提取数据,经过一定的运算,生成一个页面返回给客户。例如,笔者通过Web浏览器想要查询本公司一年的销售报表,这个销售报表是根据一年的

销售数据得出的,而这一年的销售数据非常多,通常都是存储在数据库中,当Web服务器端软件接收到客户端的请求,就需要从数据库中提取一年的数据,然后按照一定的统计规则,通过计算生成报表页面,发送到请求者的Web浏览器端。类似于上述的应用还有很多,要为用户提供各种各样的增强功能,就需要我们在Web服务端通过软件来实现。可是这种实现,如何才能完成呢?

了解HTTP协议的读者,可能会想到,可以遵循HTTP协议实现一个服务器端软件,提供增强功能。想法本身没有错误,但是由于HTTP协议服务器端的实现较为复杂,需要考虑很多方面,而且由于应用的广泛性,不可能针对每一种应用都去实现这样的一个HTTP服务器,所以这种方法在现实中不太可行。还有一种方法,就是利用已经实现HTTP协议的服务器端软件,而这些软件预先为我们留出了扩展的接口,我们只需要按照一定的规则去提供相应的扩展功能。当这类Web服务器接收到客户请求后,判断请求是否是访问我们提供的扩展功能,如果是,就将请求交由我们所编写的程序去处理。当处理完成后,程序将处理结果交回Web服务器软件,Web服务器软件拿到结果信息后,再将结果作为响应信息返回给客户端。第二种方式的好处在于,我们不需要对HTTP协议有过多的了解,HTTP协议服务器端的实现已经由Web服务器软件完成了,我们只需要根据我们的应用去开发相应的功能模块,然后将这些功能模块按照你所采用的Web服务器软件的要求,部署到Web服务器中进行集成。在用户看来,Web服务器端就是一个整体,在为他/她提供服务。

早期使用的Web服务器扩展机制是CGI,它允许用户调用Web服务器上的CGI 程序。CGI的全称是Common Gateway Interface,即公共网关接口。大多数的CGI程序使用Perl来编写,也有使用C、Python或PHP来编写的。用户通过单击某个链接或者直接在浏览器的地址栏中输入URL来访问CGI程序,Web服务器接收到请求后,发现这个请求是给CGI程序的,于是就启动并运行这个CGI程序,对用户请求进行处理。CGI程序解析请求中的CGI数据,处理数据,并产生一个响应(通常是HTML页面)。这个响应被返回给Web服务器,Web服务器包装这个响应(例如添加消息报头),以HTTP响应的形式发送给Web浏览器。整个过程如图1-2所示。

图1-2 用户访问CGI程序

然而CGI程序存在着一些缺点,主要是CGI程序编写困难、对用户请求的响应时间较长、以进程方式运行导致性能受限等。由于CGI程序的这些缺点,开发人员需要其他的CGI 方案。1997年,SUN公司推出了Servlet技术,作为Java阵营的CGI解决方案。作为对微软ASP技术(1996年推出)的回应,SUN公司于1998年推出了JSP技术,允许在HTML 页面中嵌入Java脚本代码,从而实现动态网页功能。与ASP、JSP类似的服务器端页面编写技术还有Rasmus Lerdorf于1994年发明的PHP技术。

Servlet与Servlet容器

Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容。Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java 类。Servlet被编译为平台独立的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。目前Servlet规范最新的版本是2.5。

在上文中,出现了一个概念“Servlet容器”。那么什么是Servlet容器呢?Servlet容器有时候也叫做Servlet引擎,是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化基于MIME的响应。Servlet不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用Servlet的方法,Servlet容器在Servlet的生命周期内包容和管理Servlet。

在JSP技术推出后,管理和运行Servlet/JSP的容器也称为Web容器。在本书中,Servlet容器、JSP容器,以及Web容器是同义的。

用户通过单击某个链接或者直接在浏览器的地址栏中输入URL来访问Servlet,Web服务器接收到该请求后,并不是将请求直接交给Servlet,而是交给Servlet容器。Servlet容器实例化Servlet,调用Servlet的一个特定方法对请求进行处理,并产生一个响应。这个响应由Servlet容器返回给Web服务器,Web服务器包装这个响应,以HTTP响应的形式发送给Web浏览器。整个过程如图1-3所示。

图1-3 用户访问Servlet

与CGI程序相比,Servlet具有以下优点:

— Servlet是单实例多线程的运行方式,每个请求在一个独立的线程中运行,而提供服务的Servlet实例只有一个。

— Servlet具有可升级性,能响应更多的请求,因为Servlet容器使用一个线程而不是操作系统进程,而线程仅占用有限的系统资源。

— Servlet使用标准的API,被更多的Web服务器所支持。

— Servlet使用Java语言编写,因此拥有Java程序语言的所有优点,包括容易开发和平台独立性。

— Servlet可以访问Java平台丰富的类库,使得各种应用的开发更为容易。

—Servlet容器给Servlet提供额外的功能,如错误处理和安全。

Servlet容器的分类

根据Servlet容器工作模式的不同,可以将Servlet容器分为以下三类:? 独立的Servlet容器

当我们使用基于Java技术的Web服务器时,Servlet容器作为构成Web服务器的一部分而存在。然而大多数的Web服务器并非基于Java,因此,就有了下面两种Servlet容器的工作模式。

? 进程内的Servlet容器

Servlet容器由Web服务器插件和Java容器两部分的实现组成。Web服务器插件在某个Web服务器内部地址空间中打开一个JVM(Java虚拟机),使得Java 容器可以在此JVM中加载并运行Servlet。如有客户端调用Servlet的请求到来,插件取得对此请求的控制并将它传递(使用JNI技术)给Java容器,然后由Java 容器将此请求交由Servlet进行处理。进程内的Servlet容器对于单进程、多线程的服务器非常适合,提供了较高的运行速度,但伸缩性有所不足。

? 进程外的Servlet容器

Servlet容器运行于Web服务器之外的地址空间,它也是由Web服务器插件和Java

容器两部分的实现组成的。Web服务器插件和Java容器(在外部JVM中运行)使用IPC 机制(通常是TCP/IP)进行通信。当一个调用Servlet的请求到达时,插件取得对此请求的控制并将其传递(使用IPC机制)给Java容器。进程外Servlet容器对客户请求的响应速度不如进程内的Servlet容器,但进程外容器具有更好的伸缩性和稳定性。

Tomcat简介

学习Servlet技术,首先需要有一个Servlet运行环境,也就是需要有一个Servlet容器,本书采用的是Tomcat。

Tomcat是一个免费的开放源代码的Servlet容器,它是Apache软件基金会(Apache Software Foundation)的一个顶级项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP 规范总是能在Tomcat中得到体现,Tomcat 6支持最新的Servlet 2.5和JSP 2.1规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱,并得到了部分软件开发商的认可,成为目前比较流行的Web服务器。

Tomcat和IIS、Apache等Web服务器一样,具有处理HTML

页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat 的默认模式。不过,Tomcat处理静态HTML的能力不如Apache,我们可以将Apache 和Tomcat集成在一起使用,Apache作为HTTP Web服务器,Tomcat作为Web容器。

下面给出Tomcat服务器接受客户请求并做出响应的图例,如图1-4所示。

图1-4 Tomcat服务器接受客户请求并做出响应的过程

① 客户端(通常都是浏览器)访问Web服务器,发送HTTP请求。

② Web服务器接收到请求后,传递给Servlet容器。

③ Servlet容器加载Servlet,产生Servlet实例后,向其传递表示请求和响应的对象。

④ Servlet实例使用请求对象得到客户端的请求信息,然后进行相应的处理。

⑤Servlet实例将处理结果通过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制返回给Web服务器。

Tomcat的安装与配置

安装Tomcat之前要先安装JDK,本书中,笔者所用的JDK版本为1.6.0_05。

JDK的下载地址是:

https://www.doczj.com/doc/973039442.html,/javase/downloads/?intcmp=1281,下载页面如图1-5所示。

图1-5 JDK的下载页面

要下载Tomcat,首先访问Tomcat项目的网址:https://www.doczj.com/doc/973039442.html,/,如图1-6所示。

图1-6 Tomcat项目的首页

在页面左边的下载链接中选择要下载的Tomcat版本,在这里,我们选择“Tomcat 6.x”下载,单击这个链接,进入Tomcat 6.x的下载页面,如图1-7所示。

本书使用的Tomcat版本是6.0.16。对于Windows操作系统,Tomcat还提供了可执行的安装程序的下载,即“Windows Service Installer”链接。通过安装程序安装Tomcat,将把Tomcat安装为Windows的服务。

笔者建议读者下载zip压缩包,通过解压缩的方式来安装Tomcat,因为解压缩的方式也适用于其他的操作系统(如Linux系统),并且更容易与其他的开发环境集成。对于初学者来说,也能更好地学习Tomcat的启动过程。

图1-7 Tomcat 6.x的下载页面

单击“zip”链接,下载apache-tomcat-6.0.16.zip。使用WinZip或WinRAR 等解压缩工具将apache-tomcat-6.0.16.zip解压缩到指定的驱动器和目录中。笔者是在D:\OpenSource目录下直接解压,产生了目录apache-tomcat-6.0.16,解压后的文件夹和文件存放于D:\OpenSource\apache-tomcat-6.0.16目录下。

Tomcat 6.x需要的J2SE版本最低为5.0。Tomcat 6.x不再需要JDK的支持,只需要安装JRE就可以了,这是因为Tomcat 6.x使用Eclipse JDT Java编译器来编译JSP页面,而不再使用JDK中的编译器。Eclipse JDT Java 编译器已经绑定到Tomcat的发行版中。如果你使用Tomcat 5.0.x或者Tomcat 5.5.x,那么仍然需要安装JDK。

1.5.1 Tomcat的目录结构

Tomcat安装后的目录层次结构如图1-8所示。

图1-8 Tomcat 6.0.16目录层次结构

各目录的用途如表1-1所示。

表1-1 Tomcat的目录结构及其用途

从表1-1中可以看到,lib目录下存放的JAR文件可以被所有的Web应用程序所访问,如果多个Web应用程序需要访问相同的JAR文件,那么可以将这些JAR文件放到Tomcat 的lib目录下。此外,对于后面将要介绍的Java Web应用程序,在它的WEB-INF目录下,也可以建立lib子目录,在lib子目录下可以存放各种JAR文件,这些JAR文件只能被当前Web应用程序所访问。

Tomcat 6.x修改了5.x版本的目录结构,删除了common、server和shared目录,将common/lib、server/lib和shared/lib中的JAR文件统一放到了lib目录下。

1.5.2 运行Tomcat

在Tomcat安装目录下的bin子目录中,有一些批处理文件(以.bat作为后缀名的文件),其中的startup.bat就是启动Tomcat的脚本文件,用鼠标双击这个文件,你将看到一个窗口一闪而过,之后就什么也没有了,这说明Tomcat的启动出错了。

单击Windows的【开始】菜单,选择【所有程序】→【附件】→【命令提示符】,打开“命令提示符”窗口,进入Tomcat的bin目录中,在“命令提示符”窗口中输入startup,你将看到如图1-9所示的画面。

图1-9 运行Tomcat提示出错信息

笔者以前碰到过很多学员,在初次运行Tomcat时,看到如图1-9所示的信息就不知所措了。有的学员以前还配置过Tomcat,但是再次使用的时候,由于忘记了上次是如何配置的,同样感觉无从下手。

我们在学习软件开发时,一定要养成查看错误提示信息,进而根据错误提示解决问题的良好习惯。笔者第一次配置Tomcat时,就是根据错误提示信息一步一步配置成功的。当看到错误信息时,首先不要慌张和无所适从,要仔细看清楚错误提示,弄明白错误的原因。

图1-9中的错误提示信息,已经很明确地告诉你了错误的原因。我们看图1-9中的错误信息,如下所示:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

这个错误信息是告诉你要配置JAVA_HOME或者JRE_HOME环境变量,以便Tomcat能够找到JDK或JRE的安装目录。从环境变量的名字,我们可以猜测到JAVA_HOME是配置JDK的安装目录,JRE_HOME是配置JRE的安装目录。

由于Tomcat 6.x不再需要JDK的支持,所以才新增了JRE_HOME环境变量,对于6.0之前的Tomcat版本,没有JRE_HOME环境变量,只能配置JAVA_HOME环境变量。

下面,我们在Windows XP Service Pack 2操作系统下设置JAVA_HOME环境变量,步骤如下。

① 右键单击“我的电脑”,选择【属性】,出现如图1-10所示的画面。

② 单击“高级”选项卡,选择“环境变量(N)”,如图1-11和图1-12所示。

③ 在“系统变量”下方单击“新建”按钮。在“变量名”中输入“JAVA_HOME”,在变量值中输入JDK所在的目录“D:\Java\jdk1.6.0_05”(读者可以根据自己机器上JDK的安装目录来修改这个值),然后单击“确定”按钮,如图1-13所示。

图1-10 “我的电脑”属性图1-11 “高级”选项卡

④ 最后在“环境变量”对话框上单击“确定”按钮,结束JAVA_HOME环境变量的设置。

我们再一次转到Tomcat的bin目录下,用鼠标双击startup.bat文件,可以看到如图1-14所示的启动信息。

注意图1-14中圆角矩形框中的文本,可以看到启动的是Tomcat 6.0.16。

图1-12 “环境变量”对话框图1-13 新建JAVA_HOME系统变量

图1-14 Tomcat启动信息

然后,打开浏览器,在地址栏中输入http://localhost:8080/(localhost表示本地机器,8080是Tomcat默认监听的端口号),将出现如图1-15所示的Tomcat页面。

图1-15 Tomcat的默认主页

注意图1-15中鼠标(小手形状)指向的链接——“Tomcat Documentation”,单击这个链接将进入Tomcat的文档页面,有关Tomcat的帮助信息可以在文档页面中找到;读者也可以直接访问Tomcat的文档,文档首页的位置是Tomcat安装目录下的

webapps\docs\index.html。如果要关闭Tomcat服务器,可以用鼠标双击Tomcat bin目录下的shutdown.bat文件。

如果你机器上的Tomcat启动失败,有可能是因为TCP的8080端口被其他应用程序所占用,如果你知道是哪一个应用程序占用了8080端口,那么先关闭这个程序。如果你不知道或者不想关闭占用8080端口的应用程序,那么你可以修改Tomcat默认监听的端口号。

前面介绍了,Tomcat安装目录下的conf子目录用于存放Tomcat服务器的各种配置文件,其中的server.xml是Tomcat的主要配置文件,这是一个格式良好的XML文档,在这个文件中可以修改Tomcat默认监听的端口号。用UltraEdit(你可以用“记事本”程序或其他的文本编辑工具)打开server.xml,找到修改8080端口的地方。读者也许要问了,“这个配置文件,我都不熟悉,怎么知道在哪里修改端口号呢?”对于初次接触server.xml的读者,确实不了解这个文件的结构,但是我们应该有一种开放的思路,既然Tomcat的监听端口号是在server.xml中配置,那么只要我们在这个文件中查找“8080”这样的数字字符序列,不就能找到修改端口号的地方了吗!在UltraEdit中,同时按下键盘上的“Ctrl”和“F”键,出现如图1-16所示的“查找”对话框。

图1-16 UltraEdit的查找对话框

然后在“查找”文本框中输入“8080”,单击“下一个”按钮。重复这一过程,直到找到如图1-17所示的在server.xml中配置端口号位置。

图1-17 server.xml中配置端口号的位置

找到后,如果我们不能确定此处就是修改端口号的地方,也没有关系,可以先尝试着修改一下端口号,然后启动Tomcat。如果启动成功并且能够在修改后的端口号上访问到Tomcat 的默认主页,那就证明了我们修改的地方是正确的。学习时,我们应该养成这种探索并不断实验的精神。在这里,我们可以修改端口号为8000(读者可以根据自己机器的配置选择一个端口号),然后保存。再次启动Tomcat,在Tomcat启动完毕后,打开浏览器,在地址栏中输入http://localhost:8000/(读者根据自己设置的端口号做相应的修改),就可以看到Tomcat的默认主页了。关闭Tomcat服务器时,执行bin目录下的shutdown.bat文件。

如果你想将Tomcat安装为Windows的服务,以便在Windows系统启动时即运行Tomcat,那么可以打开“命令提示符”窗口,进入Tomcat安装目录下的bin子目录,然后执行下面的命令:

service.bat install

这样将会在Windows系统中安装一个Tomcat6服务,要启动这个服务,可以执行下面的命令:

net start Tomcat6

要停止Tomcat6服务,可以执行下面的命令:

net stop Tomcat6

要删除Tomcat6服务,可以执行下面的命令:

service.bat remove

要提醒读者的是:net命令是Windows自带的命令,而service.bat是Tomcat提供的批处理文件。

1.5.3 Tomcat启动分析

在本节中我们将通过对Tomcat启动过程的分析,来帮助读者更好地理解和掌握Tomcat。

用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。根据笔者机器上Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为Tomcat的安装目录。如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令。通过这段分析,我们了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的是“catalina.bat start”命令。

如果我们不是在Tomcat的bin目录作为当前目录时调用startup.bat,就会出现如图1-18所示的错误信息(在bin目录的父目录下调用除外)。

图1-18 在其他目录下启动Tomcat出错

如果要想在任意目录下都能启动Tomcat,就需要设置CATALINA_HOME环境变量,你可以将CATALINA_HOME添加到Windows XP系统的环境变量中,其值就是Tomcat的安装目录。在笔者的机器上,Tomcat的安装目录是D:\OpenSource\apache-tomcat-6.0.16。添

加CATALINA_HOME环境变量的过程和前述添加JAVA_HOME环境变量的过程是一样的。如果你不想在系统的环境变量中添加,也可以直接在startup.bat文件中进行设置。下面是在startup.bat文件中设置CATALINA_HOME后的文件片段:

rem $Id: startup.bat 562770 2007-08-04 22:13:58Z markt $

rem --------------------------------------------------------------------

set CATALINA_HOME=D:\OpenSource\apache-tomcat-6.0.16

rem Guess CATALINA_HOME if not defined

set CURRENT_DIR=%cd%

if not "%CATALINA_HOME%" == "" goto gotHome

set CATALINA_HOME=%CURRENT_DIR%

注意以粗体显示的这句代码的作用就是设置CATALINA_HOME环境变量,在它的下面是判断CATALINA_HOME是否为空的语句。如果找不准位置,干脆将设置CATALINA_HOME 环境变量的这句代码放到文件的第一行。JAVA_HOME环境变量也可以采用同样的方式进行设置。不过,如果要在其他目录下利用shutdown.bat来关闭Tomcat服务器,则需要在shutdown.bat文件中设置CATALINA_HOME和JAVA_HOME这两个环境变量,设置变量的位置和startup.bat文件一样,都是在判断CATALINA_HOME是否为空之前。当然,为了一劳永逸,避免重装Tomcat后还要进行设置(需要是同一版本的Tomcat安装在同一位置),我们最好还是将CATALINA_HOME和JAVA_HOME这两个环境变量添加到Windows XP系统的环境变量中。

有的读者可能会对Tomcat安装目录的环境变量的名字是CATALINA_HOME而感到奇怪,按照其他环境变量的设置来看,JAVA_HOME表示JDK的安装目录,那么应该用TOMCAT_HOME 来表示Tomcat的安装目录,可为什么要使用CATALINA_HOME呢?实际上,在Tomcat 4以前,用的就是TOMCAT_HOME来表示Tomcat的安装目录,在Tomcat 4以后,采用了新的Servlet 容器Catalina,所以环境变量的名字也改为了CATALINA_HOME。

在Windows系统下环境变量的名字是与大小写无关的,也就是说,JAVA_HOME和java_home是一样的。

了解了startup.bat文件以后,我们再来看看真正负责启动Tomcat服务器的catalina.bat文件。通过分析catalina.bat文件,我们发现它还调用了一个文件setclasspath.bat。在setclasspath.bat文件中,它检查JAVA_HOME环境变量是否存在,并通过JAVA_HOME环境变量,找到java.exe,用于启动Tomcat。在这个文件中,还设置了其他的一些变量,代表调用Java的标准命令,有兴趣的读者可以自行分析一下这个文件。在执行完setclasspath.bat之后,catalina.bat剩下的部分就开始了Tomcat服务器的启动进程。

直接执行catalina.bat时,需要带上命令行的参数。读者可以在命令提示符窗口下,执行catalina.bat,就会打印出catalina.bat命令的各种参数及其含义,如图1-19所示。

图1-19 catalina.bat的各参数信息

其中常用的参数是start、run和stop。参数start表示在一个单独的窗口中启动Tomcat服务器,参数run表示在当前窗口中启动Tomcat服务器;参数stop表示关闭Tomcat服务器。我们执行startup.bat,实际上执行的就是“catalina.bat start”命令;执行shutdown.bat,实际上执行的是“catalina.bat stop”命令。“catalina.bat run”命令有时候是非常有用的,特别是当我们需要查看Tomcat的出错信息时。

在开发JSP程序时,经常会碰到自己机器上的8080端口号被别的应用程序占用,或者在配置server.xml时出现错误,当通过startup.bat(相当于执行“catalina.bat start”)启动Tomcat服务器时,如果启动过程中出现严重错误,由于是在单独的窗口中启动Tomcat 服务器,所以一旦启动失败,命令提示符窗口就自动关闭了,程序运行中输出的出错信息也随之消失,而且没有任何的日志信息,这就使得我们没有办法找出错误原因。当出现错误时,我们可以换成“catalina.bat run”命令再次启动,一旦启动失败,仅仅是Tomcat服务器

异常终止,但是在当前的命令提示符窗口下仍然保留了启动时的出错信息,这样我们就可以查找启动失败的原因了。

1.6 Tomcat的体系结构

Tomcat服务器是由一系列可配置的组件构成的,其中核心组件是Catalina Servlet容器,它是所有其他Tomcat组件的顶层容器。Tomcat各组件之间的层次关系如图1-20所示。

图1-20 Tomcat组件之间的层次结构

我们下面简单介绍一下各组件在Tomcat服务器中的作用。

(1)Server

Server表示整个的Catalina Servlet容器。Tomcat提供了Server接口的一个默认实现,这通常不需要用户自己去实现。在Server容器中,可以包含一个或多个Service组件。

(2)Service

Service是存活在Server内部的中间组件,它将一个或多个连接器(Connector)组件绑定到一个单独的引擎(Engine)上。在Server中,可以包含一个或多个Service组件。Service也很少由用户定制,Tomcat提供了Service接口的默认实现,而这种实现既简单又能满足应用。

(3)Connector

连接器(Connector)处理与客户端的通信,它负责接收客户请求,以及向客户返回响应结果。在Tomcat中,有多个连接器可以使用。

(4)Engine

在Tomcat中,每个Service只能包含一个Servlet引擎(Engine)。引擎表示一个特定的Service的请求处理流水线。作为一个Service可以有多个连接器,引擎从连接器接收和处理所有的请求,将响应返回给适合的连接器,通过连接器传输给用户。用户允许通过实现Engine接口提供自定义的引擎,但通常不需要这么做。

(5)Host

Host表示一个虚拟主机,一个引擎可以包含多个Host。用户通常不需要创建自定义的Host,因为Tomcat给出的Host接口的实现(类StandardHost)提供了重要的附加功能。

(6)Context

一个Context表示了一个Web应用程序,运行在特定的虚拟主机中。什么是Web应用程序呢?在Sun公司发布的Java Servlet规范中,对Web应用程序做出了如下的定义:“一个Web应用程序是由一组Servlet、HTML页面、类,以及其他的资源组成的运行在Web服务器上的完整的应用程序。它可以在多个供应商提供的实现了Servlet规范的Web容器中运行”。一个Host可以包含多个Context(代表Web应用程序),每一个Context都有一个唯一的路径。用户通常不需要创建自定义的Context,因为Tomcat给出的Context接口的实现(类StandardContext)提供了重要的附加功能。

下面我们通过图1-21来帮助读者更好地理解Tomcat服务器中各组件的工作流程。

要了解这些组件的其他信息,可以看下面的页面:

%CATALINA_HOME%\webapps\docs\architecture\overview.html

我们可以在conf目录下的server.xml文件中对这些组件进行配置,读者打开server.xml文件,就可以看到元素名和元素之间的嵌套关系,与Tomcat服务器的组件是一一对应的,server.xml文件的根元素就是。关于server.xml配置文件中的各元素及其属性的含义,请参看附录C。

图1-21 Tomcat各组件的工作流程

在Tomcat中,提供了各组件的接口及其实现类,如果你要替换Tomcat中的某个组件,只需要根据该组件的接口或类的说明,重写该组件,并进行配置即可。图1-22是Tomcat

各组件的类图。

图1-22 Tomcat的组件类图

在类图的接口名或类名下面是该接口或该类所在的包,这些接口和类都

在%CATALINA_HOME%\lib\catalina.jar文件中。对Tomcat服务器的实现感兴趣的读者,可以从https://www.doczj.com/doc/973039442.html,/download-60.cgi上下载Tomcat的源代码。

由于Apache软件基金会并不是一个商业性的组织,所以文档更新的速度有时候跟不上版本更新的速度。在Tomcat 6.0.16中,就可以发现文档与其源码实现有不一致的地方。从Tomcat 5.5开始,Tomcat的实现中就已经去掉了

org.apache.catalina.Connector接口及其相关的实现类,而直接以

org.apache.catalina.connector.Connector类来代替。我们在看Tomcat的文档时,最好结合其API文档一起看,这样才能保证了解的信息是完整和准确的。

1.7 Tomcat的管理程序

Tomcat提供了一个管理程序:manager,用于管理部署到Tomcat服务器中的Web应用程序。

manager Web应用程序包含在Tomcat的安装包中。要访问manager Web应用程序,需要添加具有管理员权限的账号,编辑%CATALINA_HOME%\conf\tomcat-users.xml文件,在

元素中添加manager角色,以及属于该角色的用户名和密码,如例1-1所示。例1-1 tomcat-users.xml

以粗体显示的代码是我们添加的。注意,用户名和密码可以根据自己的喜好来设置,但角色名只能是manager。

启动Tomcat服务器,打开浏览器,在地址栏中输入:

http://localhost:8080/

将出现如图1-23所示的页面。

单击“Tomcat Manager”链接,访问manager Web应用,将看到如图1-24所示的登录界面。

tomcat手动配置部署

Tomcat手动配置部署 刘晓涛讲授,孙娟总结 手动创建JSP项目 1.将外置Tomcat解压出来后,在Tomcat里面的webapps文件夹创建一个放JSP项目的文 件夹“MyWeb”,如图: 2.在“MyWeb”JSP项目中创建必须的WEB-INF文件夹,如图: 3.在WEB-INF文件夹中也要必须创建lib文件夹,classes文件夹与web.xml文件, 如图:

4.当我们创建好JSP项目必须的WEB-INF文件夹后,我们开始创建我们在项目中所需要 的静态文件,现在我们只创建一个jsp文件夹(此文件夹跟WEB-INF在同一目录下),用来存放jsp文件,如图: 5.在jsp文件夹中创建一个jsp文件,如图: 现在我们手动创建的JSP项目就创建成功了 如何将Tomcat中的文件进行修改 1.为了保护资源的安全,我们需要有用户通过验证才可以进入我们的程序,所以我们要将 Tomcat中的conf文件夹中的tomcat-users.xml文件进行修改,如图: 说明: Rolename:是角色 Username:用户名 Password:用户名的密码 整体讲:在XXX角色下,用户可以通过用户名及密码可以访问程序中的资源

修改完后,我们就有一个用户“shmily”可以进入程序了,密码是”shmily” 2.当我们设置了用户登陆后,我们还要返回到我们的JSP项目中去,修改我们的web.xml 文件,与我们刚刚设计好的用户登陆设置相关联,如图: 注意:有注释的地方都是需要修改的地方,也就是我们刚才在tomcat-users.xml中设置的角色名

现在我们就修改完成了,那么现在我们就开始运行我们的JSP项目了 如何运行JSP项目 1.在运行JSP项目之前我们要启动tomcat(在tomcat中的bin文件夹中的startup.bat),如 图: 2.启动完后,我们开始浏览器,输入http://localhose:8080/如图:

Eclipse下自动部署web项目

Eclipse下自动部署web项目设置 前提什么的,这里就不详述了,你首先得安装好exe的tomcat和eclipse,本文中用到的是tomcat5.0、eclipse4.3 一,新建dynamic web project 命名为:mysql 在webcontent目录下,新建一个jsp文件,命名为index.jsp 输入如下内容: <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030" %>

用户名: 密码:

保存退出 二,设置tomcat选项 在“project exploer”栏中,选择刚创建的“mysql”项目,右键点击Run as,选择“Run on server” 选择"manually define a new server",点击“apache”,选择“tomcat V5.0 server”,然后点击“next”,再次点击“finish”结束

三,修改tomcat V5.0 server ok,此时,在你的“server”应该出现一个添加好的tomcat V5.0 server 也许,你根本看不到“server”标签栏,需要打开 window→show view→other,搜索“server”,出现“server”,双击。现在,出现了吧

web前端开发自我介绍解读

web前端开发自我介绍解读 Q:关于公司的期望 A:我希望第一份工作能有比较大的发展空间,能够长时间的在一个良好的环境中养成良好的习惯。 Q:大学时经历的团队合作 A:最初的时候谁也不知道应该做什么,就从理论上一点一点的抠出东西来,经过两三次的课程我们的固定团队大致有了自己的开发流程,知道怎么样进行相互间的交流沟通、协作,也能从其他团队的汇报中吸取很多经验与教训。有的时候我们团队里会加进比较牛的高人,他也会愿意对我们进行额外的指导,大家一起交流想法,各自说出来,再一起逐一分析优劣,最终定下方案。 Q:关于前端的理解 A:前端开发处于一个猛烈发展的阶段,现在可以说大部分的网站都在关注前端,前端是直接接触用户的部分,它融合了设计、程序还有一些整体的理念,一些优化,包括SEO。很多技术的实现都要通过前端,怎么把这部分做好是非常具有挑战性的事情。可能四五年前很多人都还在标准的实现上摸索,而现在有一个大家都朝着标准走的大方向,就能够更好的坚持,更好的专注,把前端技术做得更强大。

Q:自己的发展计划 A:刚毕业的这一两年希望能专注于技术的提高,和适应良好的工作流程——这也是为什么我希望能够在一个发展环境良好的公司工作,锻炼好实践能力,结合公司的产品需求,当然还有一些不断萌发的新技术。之后会向产品的方向发展,就是前端技术所要实现的目标,因为前端确实是结合很广阔的一个职位。 Q:优缺点 A:我的优点,自己觉得是比较细心,包括细致的观察还有处理细节上的事情。我之前在365日历网实习的时候,还有课程小组学习的时候,他们评价我会说我比较可靠,我觉得可能不是那种技术上特别牛什么问题都能解决的,我个人觉得是来自细心和认真负责的态度。另外后面在九星时代实习的时候,临走上司对我评价是说我抗压学习能力比较强。当时项目特别急,又有涉及到一些我还不熟悉的技术,所有人都在加班,我也是一边完成任务一边不断在学新的东西,进一步的修缮,把事情做得更好。缺点的话,我觉得现在对我影响最大的就是想问题常常会有太多顾虑,想要一次性的把问题解决,结果会浪费很多的时间。比如说技术面试的时候,很经常遇到考官说一个简单的布局设计让你实现,我有的时候就总会考虑一些没有提到的因素,

linux下tomcat的配置及项目的部署流程

Java的安装配置 1.在/etc/profile文件中配置相应的信息(如下) export JAVA_HOME=/usr/java/jdk1.6.0_20 export JRE_HOME=/usr/java/jdk1.6.0_20/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH 2.是配置文件生效命令:Source /etc/profile 3.输入javac –version查看配置是否成功 TOMCAT安装配置 1.修改tomcat/bin文件夹下的catalina.sh文件,增加如下的内容: export JAVA_HOME=/usr/java/jdk1.5.0_08 export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export CATALINA_HOME=/usr/local/tomcat (红色可选部分) usr/local/tomcat/bin/catalina.sh start 在/etc/rc.d/rc.local中加入: /usr/local/tomcat/bin/startup.sh(实现自动启动) 2.修改tomcat/conf文件夹下的tomcat-users.xml文件,添加相应的用户角色(manager)及用户信息(用户名及密码),具体的添加详见文件中的模板:

如何用Tomcat_和Eclipse开发Web_应用程序(部署+发布)配置

用Tomcat 和Eclipse开发Web 应用程序(部署+发布)配置 用Tomcat 和Eclipse开发Web 应用程序(部署+发布)配置。 (https://www.doczj.com/doc/973039442.html,/developerworks/cn/opensource/os-eclipse-tomcat/) 创建一个新的 Web 项目 从 Eclipse IDE,选择File > New > Project查看项目向导。在 Wizards 框,输入 Web,而 New Project 窗口会过滤向导以只显示匹配的那些项。利用这种方法可以很容易找到向导,而无需遍历每一项。 从列表中选择Dynamic Web Project。我们要使用 Standard Web Project Wizard 来建立静态 HTML Web 项目。虽然您也可以在技术上使用 Tomcat 运行静态Web 站点,但 Web 服务器,比如 Apache Web Server 更适合于静态内容。专门为服务于静态页面而设计的 Web 服务器拥有的开销更少,且专为此目的作了调优。 以运行库为目标 在Target Runtime下,可以看到 ,如图 4 所示,由于您尚未为 Apache Tomcat 创建运行库,所以需要单击New打开New Target Runtime Wizard。从 Apache 文件夹中选择 Apache Tomcat V5.5,如图 5 所示,然后单击Next。 图 4.创建一个新的动态 Web 项目

图 5.创建一个新的服务器运行库 现在,您可以命名此运行库,当然保留 Apache Tomcat V5.5 的默认名也可以。单击Browse来定位用于 Apache Tomcat 配置的基本文件夹(我的是 C:\apps\apache-tomcat-5.5.20,如图 6 所示)。若无特殊原因,我建议不要更改,保留IBM? Java Runtime Environment (JRE) 版本作为工作台的默认 JRE。输入有效目录之后,单击Finish创建运行库配置。

web前端课程介绍

(一)、简介: 随着互联网的迅猛发展和普及,一个新型的行业和新兴的职位正在上升到技术的层面:web前端开发工程师 Web前端开发工程师,除了主要职责外,还要为网站上提供的产品和服务实现一流的Web界面,优化代码并保持良好兼容性。 Web前端开发工程师-web2.0时代Web前端表现层及与前后端交互的架构设计和开发配合后台开发人员实现产品界面和功能利用各种Web技术模拟开发产品原型,Web新技术调研和资讯整理,精通HTML、CSS,熟悉页面架构和布局,对Web标准和标签语义化有深入理解,掌握面向对象编程思想 培养目标:全流程的技能管理性人才,收入比较高 (二)、课时:16周(4个月) (三)、学费:17900元(火星超震撼助学金计划—— 先学习,后付款!只有我们敢这样承诺!)(四)、工资收入:13k/月(一年工作经验) (五)、就业方向: 1、电商类公司 2、软件公司 3、手机制作公司 4、游戏公司 5、移动媒体公司 6、视频网站 7、网络推广公司 (六)、就业岗位:1、WEB前端工程师 2、项目经理 3、项目总监 (七)、软件技术: HTM 5\CSS\ javascript \FLASH\PHP\SQL\PHP\Dreamweaver\ (八)、就业情况 其实前端开发非常重要,就经验来讲,客户第一眼看到的就是你的界面。(就跟你找媳妇似的,长得不好看,就没有谈下去的兴趣了。) 你的界面设计好坏直接影响到客户对你软件产品的兴趣,第二眼才会看功能等其它部分,(这时候才会去发觉她的内在美) 所以我觉得前端开发在软件团队中是很重要的一部分。还是很有前景的。 标准

标准

自动化运维项目总结报告

自动化运维系统研发项目 总结报告 一、项目背景 随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越多复杂的业务、多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,从初期的几台服务器发展到庞大的数据中心,单靠人工已无法满足在技术、业务、管理等方面的需求,那么标准化、自动化、架构优化、过程优化等降低IT服务成本的因素越来越被广大行业客户重视。 二、自动化运维研发阶段性 经过对市场背景的分析,在公司高层资源的支持下,2016年7月完成项目立项及成立研发项目团队,12月已完成初步框架认定工作,在对市场需求、业务环境调研过程中,认为自动化运维需满足架构独立、部署友好、可运维性、容错容灾、质量监控、性能成本、用户体验等特点。项目组经过半年的研发努力,项目研发有了阶段性的突破成果。 2.1架构独立 任何架构的产生都是为了满足特定的业务诉求,如果我们在满足

业务需求的同时,能够兼顾运维对架构管理的非功能性要求。那么我们有理由认为这样的架构是对运维友好的。站在运维的角度,所诉求的架构独立包含四个方面:独立部署、独立测试、组件规范、技术解耦等。 2.2部署友好 希望从端到端打通开发、测试、运维的所有技术环节,以实现快速部署和交付价值的目标。实现高效可靠的部署能力,要做好全局规划,要保证部署以及运营阶段的全方位运维掌控,从以上要求分析,有五个维度是对部署友好相关的:CMDB配置、环境配置、依赖管理、部署方式、发布自测等。 2.3可运维性 运维从脑海中是最理想的服务架构,首先想到的事可运维性强的那种类型。不具可运维的应用或架构,对运维团队带来的不仅仅是难题,还有阻止运维人员职业发展前进堵绊脚石,因为维护一个没有可运维性的架构,简直就是在浪费运维人员的时间。因为可运维性按操作和管理规范应归纳为以下几点:配置管理、版本管理、标准操作、进程管理、空间管理、日志管理、集中管控等。 2.4容错容灾 运维的四大职责:质量、效率、成本、安全。安全是一个运维团队首要保障的,运维人员立项的高可用架构设计应该包含以下几点:

最新eclipse java EE+最新tomcat7.0配置web项目全程 实录

在最新版本中的eclipse for java ee中配置javaweb项目+tomcat: 首先下载eclipse 地址:https://www.doczj.com/doc/973039442.html,/downloads/ 然后下载tomcat 我用的是tomcat最新版7.03的地址:https://www.doczj.com/doc/973039442.html,/download-70.cgi 下载jdk:https://www.doczj.com/doc/973039442.html,/technetwork/java/javase/downloads/index.html下载好jdk Tomcat插件下载地址:https://www.doczj.com/doc/973039442.html,/sysdeo/eclipse/tomcatplugin下载最新版本 首先安装jdk 之后配置环境变量: 编辑系统变量: 第一步:新建java—home后面的地址是你的jdk安装地址自己更改 第二步设置classpath 输入%AJA V A_HOME%\lib.;就可以了记住lib后面要有点和分号 第三步在dos窗口中输入cmd 输入命令javac 敲击enter键等于回车键 显示如下: 这配置成功

配置tomcat7.03 第一步:安装好tomcat7 点击next 同意

第三步 选择full之后输入 4:点击next 输入你的用户名 和密码 5:点击next 6:finsh 然后我的电脑->属性————系统保护-----------高级---------环境变量----------- 按照如下在系统变量中输入 1: 2: 3: 4:在classpath下输入tomcat安装的地址在tomcat——lib目录下——找到servelt_api如下图 之后安装javaEE 将tomcat插件解压放到:javaEE的plugins文件夹下 在

Java Web项目开发总结

1、In Action (1)根据添加信息(insert)来考虑表中的字段,进行建表。使用PD画出ER图。要注意字段的数据类型的确定以及建表要满足三范式,减少数据冗余; (2)表建好后,根据表中各个字段来建pojo中的属性。要注意属性的数据类型和字段的数据类型要一致; (3)根据pojo中的属性确定bean的属性,直接拷贝即可,用于页面展示。在bean中,统一使用String类型变量接收前台页面传递的参数;每个HTML表单对应一个bean。HTML 表单中的字段和bean中的属性一一对应。 (4)自顶向下,依次定出action、manager、dao。先写出轮廓,跑通整个流程,再写具体实现,一点点累加,便于调试错误; (5)根据数据实体和具体业务逻辑,使用StarUML画类图,进行OOA和OOD,灵活运用设计模式。 (6)API命名: CRUD:add,get,update,delete,[list] 严格区分单复数形式,单数表示对象,复数表示对象集合。 对象、属性最好单个单词。 (7)前后台都要校验。 (8)按照资源方式组织数据接口,对前端开发帮助很大。即通过REST来实现资源的增、删、改、查。 (9)软件开发,思路最重要!代码开发多了,思路就有了。 a、一个版本一个版本递增的开发;每个版本增加一点内容; b、总结开发思路;第一步怎么做,下一步怎么做? c、用文档记录开发的思路,即第一个版本开发实现了什么功能以及开发步骤,下一个版本实现了什么功能等等?

d、程序员进行程序开发时,不要仅仅停留在代码,要深入到底层的运行机制,才可以对程序的运行机制有更准备的把握; (10)网页模板 request到template.jsp文件(此文件假设包括三个部分,即title、banner、body) web客户——> title banner———————>include:banner.jsp body————————>include:showcart.jsp (11)一步一步的定位。根据结果进行分析。 (12)分页控件 假分页: 基本思想是将所有的数据从数据库中取出,只显示有用的部分。靠的是程序的算法,实际上就是在ResultSet上进行操作。 真分页:(数据库中的一种实现) 任何数据库都会提供分页的函数操作:Oracle、MySQL(limit,即limit 开始的记录, 要查询的行数)、SQL Server(top) 基本思想是在数据库中编写特定的SQL语句。程序中只读取有用的部分,没用的部分不会加载到内存中。 (13) 2、TIPS

web开发工具简介

Web开发工具 一、Web简介 超文本(hypertext)一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。它是超级文本的简称。 超媒体(hypermedia)是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。 超文本传输协议(HTTP)Hypertext Transfer Protocol超文本在互联网上的传输协议。 Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性把它称为Web。 所谓网站(Website),就是指在网际网路(因特网)上,根据一定的规则,使用HTML 等工具制作的用於展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯(信息),或者利用网站来提供相关的网路服务(网络服务)。人们可以通过网页浏览器来访问网站,获取自己需要的资讯(信息)或者享受网路服务。 Web的特点可以从以下几个方面考虑: (1)Web图形化 Web是图形化的和易于导航的(navigate)Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。 (2)Web与平台无关 无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh还是别的什么平台我们都可以访问WWW。对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape 的Navigator、NCSA的Mosaic、Microsoft的Explorer等。 (3)Web是分布式的 大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。

Tomcat部署项目时启动报错总结

Tomcat部署项目时启动报错总结 1、虚拟机报错端口被占用 tomcat的默认端口是8080(或者其他自己设置的),可能已经被其他占用。 解决方法:在tomcat安装路径下conf文件夹中的server.xml中把断口号改掉!如果一台机 器上使用多个tomcat,则改掉所有相关的端口避免重复了,包括想如下 在server.xml中找到如下地方改掉port的值 ● ●(改完后看看和本机上正在用 的tomcat是不是有重复的port) 2、tomcat的启动窗口一闪而过 Tomcat启动的dos窗口一闪而过,如何看出错信息? 在DOS窗口运行STARTUP.BAT文件, 另外,吧startup.bat文件最后的 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 改成: call "%EXECUTABLE%" run %CMD_LINE_ARGS% 分析原因1:jdk的环境变量没有配置好 解决方法:检查jdk环境变量的配置是否正确,或者重新配置jdk的系统环境变量JDK环境变量配置的步骤如下: 1.我的电脑-->属性-->高级-->环境变量. 2.配置用户变量: a.新建JAVA_HOME C:\Program Files\Java\j2sdk1.5.0(JDK的安装路径) b.新建 PATH (注意:把java的配置放在path的最前面) %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin c.新建CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 3.测试环境变量配置是否成功: 开始-->运行--〉CMD 键盘敲入:JAVAC JAVA 出现相应的命令,而不是出错信息,即表示配置成功! 环境变量配置的理解: 1. PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin 目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。 2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。 3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

Eclipse两种部署web项目方法

Eclipse两种部署web项目方法 分类:WEB2012-04-23 17:09820人阅读评论(0)收藏举报 一).首先使用J2EE的Eclipse的Servers(可以从show view中取出). 1).通过Eclipse建立一个Dynamic Web Project 2).通过Servers视图来创建一个server,在这里有的创建后不能更改Tomcat Server文件(类似于XML的那个),如果是这样就把项目删除后更改然后重新添加项目即可. 3).最终修改3个地方如下

二).下载tomcatPlugin插件 1)解压到Eclipse下的plugins目录下重启后会看到3只小猫,并配置 Window->perferences->tomcat中的tomcat home为tomcat目录应用。 2).项目的tomcat属性配置如下,然后正常启动,配置好的文件会自动在tomcat目录下生成apache-tomcat-6.0.20\conf\Catalina\localhost。 3).tomcatPlugin下载地址https://www.doczj.com/doc/973039442.html,/detail/kingsonl/4249870

eclipse部署web项目至本地的tomcat但在webapps 中找不到 一、发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字。 二、验证 很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中。在内置浏览器中输入http://localhost:8080/webDemo/login.jsp可正常打开。但在外部浏览器上打开http://localhost:8080时确没有出现所期望的小猫画面。 三、原因

WEB程序员个人简历

个人简历 个人资料 姓名:** 性别:男 出生日期:1981-12-23 学历:本科 毕业院校:**科技大学专业:信息与计算科学 工作经验:3年求职地点:深圳 申请职位:WEB 程序员薪资要求:面议 联系方式:15986** (手机) ***&*&^.com(邮件& MSN) 自我评价 资深WEB程序员,从事网页制作5年,WEB程序开发4年,拥有丰富的WEB开发经验,曾经参与制作了十几个网站,并且拥有B/S信息管理系统的开发经验!精通ASP程序开发,熟悉https://www.doczj.com/doc/973039442.html, 编程,并对PHP等其他WEB编程语言有一定的了解!专注于社会性网络方面的开发。 为人诚信开朗,勤奋务实,有较强的适应能力和开拓精神,责任感强,热爱集体,能恪守以大局为重的原则,愿意服从集体利益的需要,具备奉献精神。工作努力勤奋,能承受一定压力。 工作经验 2002年5月至2004年10月在**科技大学艺术设计中心任职 主要工作职责:1、学校和校外的各种网站后台以及WEB 管理系统的设计制作 2、负责学校官方论坛的管理以及论坛程序的维护 3、WEB服务器的一些调整及设置 2005年3月至2005年12月在**为公司任职 主要工作职责:1、设计开发一起来(i170) 社区第一版 2、WEB 服务器的一些调整和设置 职业技能 1、精通ASP、SQL标准语句,熟悉C# 语言和https://www.doczj.com/doc/973039442.html, 开发,熟悉AJAX 技术。 2、熟悉SQL Server、Mysql等数据库系统的使用,了解其他数据库的一些基本应用。 3、熟悉XHTML、CSS、Javascript,可以写出W3C 标准代码。 4、了解PHP、JAVA等其他开发语言 5、熟悉Windows服务器的配置及操作,了解*NIX等服务器操作系统

HTML5与CSS3 web前端开发技术习题答案

第一章 1.简答题 (1)在Web前端开发方面,HTML5与HTML4比较,主要解决哪几方面的问题? HTML5的核心在于解决当前Web开发中存在的各种问题。 一是解决Web浏览器之间的兼容性问题。在一个浏览器上正常显示的网页(或运行的Web 应用程序),很可能在另一个浏览器上不能显示或显示效果不一致; 二是文档结构描述的问题。HTML4之前的各版本中,HTML文档的结构一般用div元素描述,文档元素的结构含义不够清晰; 三是使用HTML+CSS+JavaScript开发Web应用程序时,开发功能受到很大的限制,比如本地数据存储功能、多线程访问、获取地理位置信息等,这些都影响了用户的体验。 (2)HTML5新增的全局属性有哪几个?描述其主要功能。 HTML5新增的全局属性,是指可以对任何元素都使用的属性。功能如下所示。

(3)HTML5是下一代Web语言的开发框架,典型特性有哪些? HTML5从标记语言的功能提升到下一代Web语言的开发框架,他集成了HTML+CSS3+JavaScript的Web应用框架。。 良好的语义特性。HTML5支持微数据与微格式,增加的各种元素赋予网页更好的意义和结构,适于构建对程序、对用户都更有价值的数据驱动的Web应用。HTML5增加了section元素、article元素、nav元素以及aside元素等结构元素。 强大的绘图功能。通过使用Canvas API动态地绘制各种效果精美的图形,也可以通过SVG 绘制可伸缩矢量图形。 增强的音视频播放和控制功能。新增了audio和video 元素,可以不依赖任何插件而播放音频和视频。 HTML5的数据存储和数据处理的功能。 包括离线应用、Web通信、本地存储等功能,HTML5还支持WebSQL和IndexedDB等轻量级数据库,增强了数据存储和数据检索能力。 获取地理位置信息。HTML5新增了Geolocation API规范,应用于移动设备中的地理定位。 提高页面响应的多线程。HTML5新增了Web Workers来实现多线程功能。通过Web Workers,将耗时较长的处理交给后台线程,降低Web服务的响应时间,有利于增强用户体验。 方便用户处理文件和访问文件系统的文件文件API 。HTML5的文件API包括FileReader API 和File SystemAPI。 除了上面介绍的HTML5的特性之外,HTML5还有管理浏览器历史记录的History API。HTML5可以通过脚本语言在浏览器历史记录中添加项目,以及在不刷新页面的前提下显示地改变浏览器地址栏中的URL地址;而HTML5的拖放功能可以使用mousedown、mousemove、mouseup等方法来实现拖放操作。

javaweb开发简历模板

简历 此处放一个大学LOGO或其 他 姓名 大学

男|未婚|1900年0月生|户口:安徽合肥|现居住于安徽合肥 0年工作经验|党员|身份证:00000 Phone:0000000 E-mail:0000000 教育经历 某大学本科 求职意向 ·工作性质:全职 ·工作地区:合肥 ·期望职业:Java工程师、Android工程师、软件工程运营维护、Web工程开发等 ·期望月薪:2000-4000元/月 ·目前状况:培训即将结束,一个月内可以上岗。 自我评价 自我简单评价或介绍!!可以写好听一些! 工作经历 某公司某职位 行业类别:大型设备/机电设备/重工业规模:500-999人职位月薪:4000-6000元/月 工作描述:…………。 某公司某职位 行业类别:加工制造(原料加工/模具)规模:100-499人职位月薪:3000-4000元/月 工作描述:………………。 项目经验 2016/04–2016/04C语言控制台项目:学生管理系统 项目基本信息:C语言控制台项目,管理员账号登陆,对学员信息进行增删改查的操作,保存信息到文本;界面选用炫彩界面库。 2016/05–2016/05Java控制台项目:部门管理系统 项目基本信息:控制台项目,Java基本知识的运用,代码分层管理,方法封装。 2016/06–2016/06网络新闻爬虫 项目基本信息:以文件读取流和正则表达式为主,建立新闻网页筛选程序,爬取新闻网页,获取新闻主题和内容。

2016/07-–2016/07Web在线图书 项目基本信息:Web项目,前端后端结合,数据存在数据库,包含注册登录模块,区别管理员和普通用户,给以不同权限进行不同操作;在线更改用户数据,使用AJAX技术实时显示。 2014/03--2014/04 ZambiaTradeKing选矿项目 项目职责:售前技术人员,技术联络员,协同销售员处理技术问题。 项目描述:公司的项目之一,订单成交于13年11月份,属于破碎选矿行业。14年3月初出差赞比亚卢萨卡市考察。 2013/09--2014/04资料库标准化 项目职责:完成《设计手册》《常用生产线配置图册》《生产线及产品PPT》的编排整合,另参与《三维生产线图册》的三维模型制作、渲染图等。 项目描述:技术资料的标准化过程,从散到整,汇总统一,编号图号序号章别等。我负责协调监督,并初步检查。 培训经历 —某培训中心 培训课程:C语言基础;Java基础语法和面向对象的编程思想;Java高级;ORACLE数据库的基本操作,JDBC编程; JavaScript脚本语言;Android编程语言初级;JavaWeb项目;HTML5网页、Jquery库、CSS、AJAX、JSP、Bootstrap、Servlet容器、XML等 专业技能 办公:熟练使用Office办公软件; 工程:熟练使用AutoCAD绘图软件和SolidWorks三维建模工具; 编程: 熟练使用Eclipse软件进行Java和Android软件编程; 掌握Java的基础语法和面向对象的编程思想; 掌握Servlet和JSP,能够使用MVC模式进行JAVAWEB的开发。 了解VisualC++及其VC简化版软件的使用和编程; 熟练使用sublime_text编辑HTML5网页和JavaScript、CSS等; 掌握Jquery和Bootrap进行网页布局和开发; 熟悉使用Genymotion模拟器; 数据库: 熟悉ORACLE数据库及基本操作指令,能用JDBC编程; 了解SQLite数据库及在Android平台的基本使用; 熟练使用PL/SqlDev软件; 其它:熟悉了解TOMCAT、SVN、UML等软件的使用。

Web开发技术习题集

Web开发技术 第一章 1.下列动态网页和静态网页的根本区别描述错误的是(D) https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)A、静态网页服务器端返回的HTML文件是事先存储好的; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)B、动态网页服务器端返回的HTML文件是程序生成的; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)C、静态网页文件里只有HTML标记,没有程序代码; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)D、动态网页中只有程序,不能有HTML代码; 真棒,答对了! 2.下面哪一项不是网页制作工具(D) https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)A、FrontPage; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)B、Dreamweaver; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)C、Visual Studio; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)D、PhotoShop; 3.目前的物联网、大数据和云计算的智能生活时代属于下列哪个web发展阶段(C)

https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)A、web1.0; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)B、web2.0; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)C、web3.0; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)D、web4.0; 题目解析:一般认为11或者12年开始进入Web 3.0时代,属于大互联时代。典型特点是多对多交互,不仅包括人与人,还包括人机交互以及多个终端的交互。智能手机促进了移动互联网的发展。现在是大互联时代的初期,真正的3.0时代一定是基于物联网、大数据和云计算的智能生活时代,实现了“每个个体、时刻联网、各取所需、实时互动”的状态,也是一个“以人为本”的互联网思维指引下的新商业文明时代。 4.关于webservice,下列说法错误的是(D) https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)A、webservice可以通过手机端访问; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)B、Web应用程序中无需下载安装Web服务可直接调用网上的Web服务提供的方法来实现某个功能; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)C、webservice服务可实现分布式应用; https://www.doczj.com/doc/973039442.html,/examTest/stuExamList/javascript:void(0)D、webservice不能通过局域网访问; 题目解析:局域网可以访问在本局域网内部的webservice服务,能不能访问webservice取决于web服务的服务所在网络位置。

web前端开发个人简历

web前端开发个人简历 基本信息 姓名:性别: 婚姻状况:民族: 户籍:年龄: 现所在地:身高: 联系电话: 电子邮箱: 求职意向 希望岗位:Web前端开发 工作年限:职称:无职称 求职类型:全职 到岗时间:随时 工作经验 xx年3月—至今xx有限公司,担任PHP开发工程师。 工作描述: 1、使用HTML标记、div+css+javascriptDom操作等前端WEB技术进行网站的开发与制造; 2、使用mvc思想、oop面向对象思想、ThinkPHP模板框架、基于jQuery的EasyUI框架、Smarty模板引擎等技术来做项目开发。 xx年3月—xx年7月xx有限公司,担任数据库和网页设计。 工作描述:

1、负责编写详细需求分析和客户管理模块; 2、实现了客户添加、客户修改、客户删除、批量删除客户、分 页等几大功能; 3、分别用到Myeclipse开发工具、orcal数据库、ssh、javascript、jquery等开发技术,现几大功能运行稳定,运算速度 明显变快。 教育背景 毕业院校:xx大学 最高学历:本科 毕业日期:2004-07 专业:计算机网络工程 语言能力 外语:英语一般 国语水平:精通 粤语水平:一般 专业技能 计算机语言:HTML、CSS、JS、C++、Flash/Flex、Silverlight、XML 网页编辑器:AdobeDreamweaver、Frontpage、CSSDesk、 Drawter 数据库软件:Oracle、SQLSever、Access 操作系统:Windows、Linux、Unix、iOS 编程软件:Delphi、VC++ 获得证书

Web开发技术习题集

第一章 1.下列动态网页和静态网页的根本区别描述错误的是(D) A、静态网页服务器端返回的HTML文件是事先存储好的; B、动态网页服务器端返回的HTML文件是程序生成的; C、静态网页文件里只有HTML标记,没有程序代码; D、动态网页中只有程序,不能有HTML代码; 真棒,答对了! 2.下面哪一项不是网页制作工具(D) A、FrontPage; B、Dreamweaver; C、Visual Studio; D、PhotoShop; 3.目前的物联网、大数据和云计算的智能生活时代属于下列哪个web发展阶段(C) A、; B、; C、; D、; 题目解析:一般认为11或者12年开始进入Web 时代,属于大互联时代。典型特点是多对多交互,不仅包括人与人,还包括人机交互以及多个终端的交互。智能手机促进了移动互联网的发展。现在是大互联时代的初期,真正的时代一定是基于物联网、大数据和云计算的智能生活时代,实现了“每个个体、时刻联网、各取所需、实时互动”的状态,也是一个“以人为本”的互联网思维指引下的新商业文明时代。 4.关于webservice,下列说法错误的是(D) A、webservice可以通过手机端访问; B、Web应用程序中无需下载安装Web服务可直接调用网上的Web服务提供的方法来实现某个功能;

C、webservice服务可实现分布式应用; D、webservice不能通过局域网访问; 题目解析:局域网可以访问在本局域网内部的webservice服务,能不能访问webservice取决于web服务的服务所在网络位置。 5.域名系统DNS的含义是(A) A、Domain Name Service; B、Direct Network System; C、Dynamic Network System; D、Distributed Network Service; 6.下列有关浏览器到服务器到脚本到程序表述正确的是(D) A、一个URL指向一个CGI脚本. 一个CGI脚本的URL能如普通的URL一样在任何地方出现; B、服务器接收请求, 按照那个URL指向的脚本文件(注意文件的位置和扩展名),执行脚本; C、脚本执行基于输入数据的操作,包括查询数据库、计算数值或调用系统中其他程序; D、脚本不能产生某种Web服务器能理解的输出结果; 7.关于“服务端/客户端技术”的描述,不正确的是(D) A、“服务器端/客户端技术”描述的是一种工作方式; B、我们用来浏览网页的计算机属于客户端; C、web服务器既属于服务器端,也可属于客户端; D、web服务器只能属于服务器端; 8. 下面这段Html代码在浏览器中运行结果为(C)

web开发技术试卷及参考答案

《WEB开发技术》期末考卷(A) 一、选择题(30题、每题2分、总计60分) 1、是用于创建Web应用程序的平台,此应用程序可使用IIS和.NET Framework在Windows 服务器上运行。 # 2、文件由Visual 创建,用于定义Web应用程序的配置。 A. 3、打开SQL Connection 时返回的SQL Server 错误号为4 060,该错误表示: 。 A. 连接字符串指定的服务器名称无效 B. 连接字符串指定的数据库名称无效 C. 连接超时 D. 连接字符串指定的用户名或密码错误 4、在DataSet中,若修改某一DataRow 对象的任何一列的值,该行的DataRowState 属性的值将变为。 A. B. C. D. 5、关于网页中的图像,下列说法正确的是。 A.图像由标签开始,由结束 B.图像标签的href属性用于指定图像链接的URL 属性的值是所要显示图像的URL D.以上全都是错的 6、如果希望单击超链接打开新的HTML页面,则需将target属性设为。 7、为创建在SQL Server 2000 中执行Select 语句的Command 对象,可先建立到SQL Server 2000 数据库的连接,然后使用连接对象的方法创建SqlCommand 对象。 A. CreateObject B. OpenSQL C. CreateCommand D. CreateSQL 8、为了在程序中使用ODBC .NET 数据提供程序,应在源程序工程中添加对程序集______ 的引用。 A. B. C. . D. 9、DataAdapter 对象的DeleteCommand 的属性值为null,将造成: A. 程序编译错误 B. DataAdapter 在处理DataSet 中被删除的行时,将引发异常 C. DataAdapter 在处理DataSet 中被删除的行时,这些行将被跳过不处理 D. DataAdapter 在处理DataSet 中被删除的行时,将出现对话框询问用户如何处理该行 10、下列语句的值是。 String str=”中华人民共和国”; (“人”); B.2 11、应用程序中所有页面均可以访问变量。 12、指令用于定义页面解析器和编译器所使用的特定的页面的属性。 A. @Page B. @Control C. @Import D. Register

相关主题
文本预览
相关文档 最新文档