本地资源提供给外部访问:
public class Server{
public static void main(String[] args) throws Exception{
//创建服务端程序serverSocket对象,监听某个端口
ServerSocket server=new ServerSocket(8888);
System.out.println("servet启动........");
while(true){
//接收客户端链接
Socket socket=servet.accpet();
//把本地的hello.html文件内容发送给socket客户端,1)构建数据发送通道
OutputStream.out=socket.getOutputStream();
//2)读取本地hello.html文件内容
FileInputStream fis=new FileInputStream("e:/web/hello.html");
/**
* 输入流
* 输入字节流: InputStream
* FileInputStream
* BufferedInputStream
*
* 方法:
* read(): 读取一个字节
* read(byte[] data): 读取多个字节
* 如何判断文件结束? 返回的长度等于-1
*
* 输入字符流: Reader
* FileReader
* BufferedReader
*
* 方法:
* read(): 读取一个字符
* read(char[] data): 读取多个字符
*/
fis.close;
out.close;
}
}
}
http:// 协议。http协议
执行流程:
1) 本地hosts文件, ip地址 域名 (c:/windows/System32/drivers/etc/hosts)
2)在hosts文件中找不到,到网络运营商的DNS服务器中找域名对应的IP地址。
3)找到,访问对应的ip地址的PC机器.
localhost 域名。
本地域名: localhost
外部域名: www.baidu.com
8080 端口。软件监听端口
qq: 5555
tomcat: 8080
mysql: 3306
oracle: 1521
系统默认端口: 80
注意: 一个软件监听了默认端口,那么访问这个软件不需要写80.
web 网站名称。(web应用的名称)
hello.html 网站中的资源名称。
2.4 tomcat启动常见的问题
1)闪退
原因: tomcat软件使用java语言开发,需要jvm运行。tomcat软件在启动时寻找JAVA_HOME环境变量,JAVA_HOME配置的是jdk的目录。
解决办法:配置JAVA_HOME环境变量
2)端口占用的问题
原样:其他软件在占用端口
解决办法:
a)关闭其他软件
b)修改tomcat软件监听的端口
3)CATALINA_HOME变量的问题
3 Tomcat服务器目录结构
|-bin目录: 存在tomcat软件操作指令。
startup.bat catalina.bat start
shutdown.bat catalina.bat stop
|-conf目录: 存在tomcat软件的配置文件
|-lib目录: 支持tomcat软件运行的jar包,因为tomcat使用java语言开发的。
|-logs目录: 存放tomcat运行的日志信息
|-temp目录: 存放临时文件
|-webapps目录: 存放web应用(网站)的目录
|-work目录: tomcat运行目录,存放jsp页面运行过程中产生的临时文件。
4 网站(web应用)目录结构
|-WebRoot 根目录
|- 普通文件(html,css,js,images)
|- WEB-INF 目录。固定写法
|-classes 目录。固定写法。存放class文件
|-lib 目录。固定写法。存放jar包。
|-web.xml 文件。
注意 :
1)WEB-INF外面的文件是可以直接通过浏览器访问的。
2)但是WEB-INF里面的文件是不可以通过浏览器直接访问的。如果想让WEB-INF里面的内容提供给外部访问,那么需要在web.xml文件中配置。