一、学习目标
- 通过Tomcat部署网站
- 使用page指令设置页面属性
- 掌握JSP声明和使用变量(重点)
- 使用JSP表达式和out实现页面输出(重点)
- 理解JSP执行原理(重点)
二、通过Tomcat部署网站
创建第一个Web项目
- 在MyEclipse例配置Tomcat
- 创建并运行Web项目
注:外部Tomcat不可同时处于运行状态
(1)在MyEclipse例配置Tomcat
配置JDK:window——Preferenses——java——Installed JREs:配置JDK,同时在Complier中配置JDK编译版本为1.7
配置Tomcat:window——Preferenses——MyEclipse——Servers——Tomcat——Tomcat 7.x:Tomcat home directory:选Tomcat安装路径——将Disable改为Enable——JDK:确认是不是1.7——OK
现在就将MyEclipse与你的Tomcat关联起来了。
(2)创建并运行Web项目
在Pack中new一个Web Project,输入名字就可以创建了。创建完文件的结构如下:
- 有一个Web-Root文件夹:里面有一个WEB-INF:里面有一个lib和web.xml。
- lib是以后只要你的Web项目,只要需要引用第三方的jar包,那jar包就放到lib文件夹里。
- web.xml记录的是整个web项目的配置信息。
- index.jsp:是个页面,将来你这个web项目做完了,是一个bs结构的项目,用户通过浏览器访问,访问的页面就是这个index.jsp。只要用户能访问的页面都放到Web-Root文件夹里面。而假如你放到了WEB-INF里面,那用户是无法访问的。
(3)将Web项目布到Tomcat中
有三种方式
方式一
在上方有一个小按钮,如下:
点一下之后——在Project中选择要布置的HelloPrj项目——add——Server:选Tomcat 7.x(要是没配置Tomcat 7.x成功可以选择MyEclipse自带的MyEclipse Tomcat)——在Deploy Location中可以查看部署的位置:D:\java\Tomcat\apache-tomcat-7.0.41\webapps\HelloPrj,可以看到是部署到Tomcat的webapps中了。
此时去你安装的Tomcat的webapps中看的话,是有这个文件的。
此时因为在MyEclipse中配置了Tomcat,所以可以通过MyEclipse直接启动服务器,点击这个按钮:
然后选择Tomcat 7.x服务器,就可以启动了。
MyEclipse和外部Tomcat不可以同时处于运行状态。
访问:在浏览器中输入你的ip和端口号和web项目地址就可以访问。如http://localhost:8080/HelloPrj/index.jsp
找web项目地址:右击你创建的web项目,点击Properties——输入web——点击web——在右边找到web Context—Root:这就是该项目的地址。
部署完之后在服务器中的文件与web源文件的差别
在部署完项目之后,在你安装的Tomcat中,除了webapps中多了这个项目之外,work文件夹中也有一个HelloPrj。那这两个里面都分别放了什么呢?
webapps文件夹中的文件
在webapps中是这几个文件:
这些文件是你MyEclipse项目中Web-Root文件夹中的。少了一个src文件。src文件是将来我们放我们的后台代码的,也即是说你部署了你的文件之后,别人是看不到你的后台代码的,只能看到你放在Web-Root下的一些页面。
但是你点开WEB-INF文件夹,你会发现里面比MyEclipse项目中Web-Root文件夹的多了一个东西:classes文件夹。这个文件夹将来放的是你的src里面代码所编译的.class文件。
所以,综上,部署到服务器的项目和你的源项目的文件是不一样的。所以到时候要是去拷别人的项目,那要拷源文件,而不是部署之后的文件。
work文件夹中的文件
work文件夹里面的HelloPrj项目里面是这些文件:
work里面存的是你的这些JSP页面生成的JAVA文件以及编译生成的class字节码文件。
如果现在你要重新部署你的项目,首先要把你的Tomcat服务器停掉,然后在Work里面把你的这个项目删掉。然后把webapps里面的这个项目也删掉。两个都删掉之后就相当于你的项目在服务器里面已经没有了。这个操作时为了演示下面的方式二。
方式二
部署应用程序到Tomcat的webapps目录:
- 生成War包
注:路径中最好不要包含中文
操作如下:
在MyEclipse中右键点击项目——Export——Java EE——War file——Next——Browser:选择你电脑上安装的Tomcat里面的webapps文件夹并且给项目取名字——finish
这时候再去看webapps文件夹,会发现里面有你导入项目的War文件。
部署完毕之后可以通过MyEclipse或者直接启动服务器,启动服务器之后在webapps中多了一个HelloPrj文件夹。也就是说在服务器启动的一瞬间,Tomcat自动把你这个War文件解压为项目文件夹。
方式三
- 修改server.xml
<Context path="" docBase=""/>
我们在练习的时候可能会把一大堆web项目布置在一个服务器上面,但是在实际过程中,可能一个服务器上面只部署了一个web项目,避免项目之间的相互影响。所以产生了这种思路:让我的这个服务器指向我的这个项目,那怎么实现呢?
操作如下:找到conf文件,打开server.xml文件,在<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
下面加上这段代码:<Context path="/hello"docBase="G:/JAVAWEBTomcat/HelloPrj/webRoot"/>
,其中path是虚拟目录可以随便取,docBase是指我要指向的web项目的位置(路径之中最好不要有中文)。
寻找位置的方法:在MyEclipse中右键点击属性——Properties——Resourse——Location。
找到这个位置之后赋给docBase,此时需要把斜杠倾斜方向改变同时也要在后面加上/webRoot
,因为你页面是放着这个文件夹下面的。
修改完这个文件之后,再在MyEclipse中重新部署一下你这个项目,然后启动就可以访问了。