WEB相关知识和Tomcat服务器

时间:2023-03-08 15:47:43

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