Internet上供外界访问的Web资源分为:
在Java中,动态web资源开发技术统称为Javaweb。
学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。
Tomcat是在SUN公司推出的小型Servlet/JSP调试工具的基础上发展起来的一个优秀的Servlet容器,Tomcat本身完全用Java语言编写。 是一个免费的Web服务器。
官网下载即可,初学者注意以下几个问题:
获取Tomcat安装程序包
Tomcat版本与jdk版本的对应
很多新手对于任何软件都偏向于下载最新版,这是个坏习惯。
可以看到,大部分的网络教学视频都偏向于老版本,因为很多网络公司还在使用老版本,其次就是很多稳定版本就是老版本,比如jdk1.8,tomcat7或8。
对新手来说,无论下载任何包或软件,尽量下载官方发布的稳定版(或长期维护版),而不是最新版。
很多Java的第三方软件会查找JAVA_HOME路径,不配置的话会启动失败。
Tomcat的setclasspath.bat批处理文件使用JAVA_HOME环境变量
解压安装包后,进入bin目录(可执行二进制文件夹)
bat 后缀表示在windows下运行,sh表示linux下运行。
双击startup.bat
然后访问: http://localhost:8080 即可看到tomcat的首页,说明服务器启动成功。
可以通过在cmd中ipconfig命令查看自己的主机ip,然后通过其他的电脑或者手机也可以访问自己的服务器。
假如我的ip地址为127.0.0.1,则使用其他电脑访问 http://127.0.0.1:8080 也能看到tomcat首页
注意:有些电脑屏蔽了对外的8080端口访问权限,可以百度查找如何开启防火墙的对外端口,或者直接把防火墙关掉。
双击shutdown.bat可以关闭服务器,不要直接关闭cmd窗口,不然后台端口依旧被占用。
WEB应用程序指供浏览器访问的程序,通常也简称为web应用。
一个web应用由多个静态web资源和动态web资源组成,如: html、css、js文件 Jsp文件、java程序、支持jar包、 配置文件等。
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
本节假设您已懂得servlet开发
使用Eclipse创建一个JavaWeb应用程序,然后打包成war包
打包方法:关闭Tomcat,eclipse中右键项目,导出,搜索选择WARfile,然后将war包生成在Tomcat的App下,再打开Tomcat(war包实际是压缩包,打开Tomcat的时候,会自动被解压为文件夹) 然后访问域名/项目名就能进入项目默认的index.html页面(在web配置文件中可设置默认入口)
将war包放在tomcat的webapp,然后启动,访问http://localhost:8080/hello
hello是项目名,根据自己的项目名填写
web项目中,src的内容会编译到classes目录中
用Tomcat的管理平台管理Web应用的生命周期。
Tomcat的管理平台是Tomcat本身的一个Web应用,管理平台对应manager应用,它位于Tomcat安装目录/webapps/manager目录下。 manager应用会对用户进行安全验证。它要求用户具有manager角色。因此,应该先在Tomcat中添加具有manager角色的用户信息,方法为打开Tomcat安装目录/conf/tomcat-users.xml文件,在其中增加以下内容:
<tomcat-users>
<role rolename="manager-gui"/>
<user username="tomcat" password="123456" roles="manager-gui"/>
</tomcat-users>
然后到首页
Tomcat配置文件在conf\server.xml中,最常见的配置是改变访问端口(默认8080)
每个 Internet服务可以从多个目录中发布。通过以通用命名约定 (UNC) 名、用户名及用于访问权限的密码指定目录,可将每个目录定位在本地驱动器或网络上。虚拟服务器可拥有一个宿主目录和任意数量的其它发布目录。其它发布目录称为虚拟目录。
假设项目名为myAPP
<?xml version="1.0" encoding="utf-8"?>
a)<Context path="/myapp" docBase="C:\test\myapp"/>
b)docBase:代表的是应用的真实路径。 c)path:网络访问的虚拟目录名
2. 将该文件放在\conf\Catalina\localhost目录下
3. 虚拟目录访问方式:http://localhost:8080/myapp
假如两家公司Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机,如:www.test1.cn www.test2.com 尽管以上两个虚拟主机位于同一个主机,但是当客户通过以上两个不同虚拟主机名访问Web应用时,会感觉到这两个应用分别拥有独立的主机
<Host name="www.test1.com" appBase="C:\site\test1">
</Host>
<Host name="www.test2.com" appBase="C:\site\test2">
</Host>
2. 在test1和test2目录下创建myapp项目,然后创建一个index.html
默认应用
默认主页