Web服务器是什么
Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。
Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。
Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。无论它们的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。
在这里我只说一下Tomcat的使用和配置,如有兴趣可以自己看一下常用的web服务器
我们自己模拟一个web 服务器
Tomcat是一个很好的web服务器,它是怎么工作的呢,我们可以自己写一个简单的服务器
看一下
先写一个Html页面,我们要通过个服务器打,在IE里显示这个Html页面
<h1>Hello!<h1>
下面开写一个简单的web服务器:
import java.io.*; import java.net.*; public class JavaWebService { public static void main(String arg[]) throws Exception { ServerSocket server=new ServerSocket(9999); System.out.println("等待连接....."); Socket socket=server.accept(); OutputStream outStream=socket.getOutputStream(); System.out.println("连接成功....."); BufferedReader bufferReader=new BufferedReader(new FileReader("D:\\Hello.html")); String buf=""; while((buf=bufferReader.readLine())!=null) { outStream.write(buf.getBytes()); } bufferReader.close(); outStream.close(); socket.close(); } }
编译一下
在IE里运行
我们自己的web服务器在IE上显示Hello!
再看一下cmd命令
这是一个很简单的web服务器的小例子,只是解释一下tomcat web服务器的原理。
使用TomCat
启动TomCat 是在bin目录下的startup.bat
这里要说明一下看一下自己的系统是32位的还是64位,要针对系统下不现版本的tomcat
如果启动失败
查看Log目录下的日志,看是什么问题导致服务没有打开一般情况有下边两种
1.在启动之前要先确定我的电脑 环境变量里是否已把JAVA_HOME配置好
我的是在c盘
也可以直接在startup.bat里
加上这个set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45
2.是不是端口被占用8081
用cmd命令netstat -anb查看是哪个程序把端口占用了
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
把8081端口修改一个
a
Tomcat 要进入Manager App和Host Manager需要权限
<role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="admin" password="admin" roles="manager-gui,admin-gui"/>
测试Tomcat
在IE中输入http://localhost:9081/能进入说明我们的Tomcat启动成功
Tomcat 要进入Manager App和Host Manager需要权限
在conf目录下的tomcat-users.xml加上
<role rolename="manager-gui"/> <role rolename="admin-gui"/>
<user username="admin" password="admin" roles="manager-gui,admin-gui"/>
重新启动一下Tomcat点击Host Manager会让输入用户名
TOMCAT的目录
主要说一下webapps目录和work目录
webapps目录 :在这个目录下,放置web应用
如我们放把之前的Hello.html页面放到里面
我们在webapps里建一个HelloWeb文件夹,把Hello.html放到里面,启动tomcat
在IE里输入
http://localhost:9081/HelloWeb/Hello.html
如果想不加Hello.html就显示出来可以 这个么
新建一个文建夹WEB-INF
在里边建一个web.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> <welcome-file-list> <welcome-file>Hello.html</welcome-file> </welcome-file-list> </web-app>
再在IE里输入
http://localhost:9081/HelloWeb/
也会看到这个页面
work目录
用于存放jsp对应的servlet文件和.class文件
这个图是我在eclipse里写的一个jsp页面
它对应的servlet是