WEB相关知识和Tomcat服务器
WEB相关知识
1.Internet上供外界访问的Web资源分为:
静态web资源:指web页面中供人们浏览的数据始终是不变的。
动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
2.WEB服务器
1)一个简单的模拟web服务器的代码
eg:
package cn.lsl.server; import java.io.FileInputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class MyServer { public static void main(String[] args) throws Exception { ServerSocket server = new ServerSocket(9999); while(true){ Socket socket = server.accept(); //给用户返回数据 OutputStream out = socket.getOutputStream(); //读取磁盘上的文件 InputStream in = new FileInputStream("F:\\a.html"); int len = -1; byte b[] = new byte[1024]; while((len=in.read(b))!=-1){ out.write(b, 0, len); } in.close(); socket.close(); } } }
通过http://ip地址:9999/来访问
2)常用的服务器
WebLogic:支持JavaEE规范。称之为JavaEE容器:属于重量级服务器。
(注:即实现了什么规范的服务器就叫做什么容器。)
WebSphereAS(Application Server):支持JavaEE规范
JbossAS:支持JavaEE规范。免费
Tomcat:支持Servlet/JSP规范。轻量级服务器。
Tomcat服务器
1. Tomcat的安装与启动遇到的问题
1)注意:不要把Tocmat装到有中文或空格的目录中。
2)验证Tomcat是否成功
a、进入Tomcat\bin,执行startup.bat
b、启动过程中没有出错。最好还要打开浏览器:http://localhost:8080
3)启动Tomcat遇到的问题:
a、无法启动:配置系统环境变量JAVA_HOME=你的JDK的安装目录
Tips:
HTTP协议规定,Web应用的默认端口是80
把Tomcat使用的默认端口8080改为Web应用的默认端口80?
在TOmcat\conf目录中有一个server.xml
找到8080改为80,就可以使用默认端口了。
4)Catalina_home=Tomcat的安装目录(不建议使用)
2. Tomcat的目录结构
bin:运行Tomcat的相关命令
conf:Tomcat的配置信息所在
lib:Tomcat运行需要的jar包
logs:TOmcat的运行日志
temp:存放临时文件的
webapps:Web应用的存放目录。该目录中的每个目录都代表一个应用。
work:Tomcat的工作目录
JavaWeb应用的目录结构
1.例如MyApp
MyApp:(目录,应用的名称)
---1.html
---css
---------a.css
---WEB-INF:此目录必须有,且大小必须完全一致。该目录中的资源,用户无法直接访问到。(非常重要)
---------classes:存放Java类的字节码
---------lib:存放本应用需要的jar包
---------web.xml:本应用的配置文件
部署自己的应用到Tomcat中
方式一:把你的应用拷贝到Tomcat\webapps目录下。
方式二:把自己的应用打包成war包,再拷贝到Tomcat\webapps目录下
进入你的应用目录
执行:jar -cvf MyApp.war .
Tomcat配置虚拟目录
方式一:(不建议使用,原因就是需要重新启动)
1)修改Tomcat\conf\server.xml,找到<Host name="localhost"/>元素
2)在其中增加一个子元素,内容如下:
<Context path="/hello" docBase="E:\MyApp"/>
注:path:虚拟目录的名称。给用户来访问的。docBase:实际应用的存放目录
3)重新启动Tomcat
4)访问资源:http://localhost:8080/hello/1.html就是访问E盘下MyApp目录中的1.html
方式二:
在Tomcat\conf\[enginename]\[hostname]目录下建立一个特殊的文件,文件扩展名为xml;
文件的主文件名就是映射的虚拟路径(即<Context path="/hello" docBase="E:\MyApp"/>中的path)
增加以下内容:(hello.xml)
<?xml version="1.0"?> <Context docBase="E:\MyApp"/>
扩展:配置E盘上的MyApp作为默认应用
1)在Tomcat\conf\[enginename]\[hostname]目录下建立一个特殊的文件,文件名ROOT.xml;
2)由于默认应用特殊,也需要重新启动Tomcat
访问MyApp下的1.html
http://locahost:8080/1.html