1.编写网络程序建立一个自己的服务器,通过浏览器访问,例如:http://127.0.0.1:8888
ServerSocket server = new ServerSocket(8888);
Socket socket = server.accept();
InputStream in = new FileInputStream("index.html");
OutputStream out = socket.getOutputStream();
byte[] buf = new byte[1024];
int len = 0;
while((len = in.read(buf))!=-1){
out.write(buf,0,len);
}
out.close();
in.close();
socket.close();
server.close();
2.常见的web服务器有:
Weblogic【收费,支持J2EE规范】
webSphere【收费,支持J2EE规范】
Apache Tomcat【免费,支持jsp/servlet规范,不支持EJB(可以和JBOSS搭配实现支持J2EE规范)】
3.无法启动tomcat?一般有两种原因:
1.没有配置JAVA_HOME
因为tomcat是用Java写的,没有JVM怎么能行?在环境变量里配置JAVA_HOME即可。
2.端口被暂用
使用命令netstat -ano查看所有端口和PID,找到端口被暂的PID,关掉进程即可
(注:如果是IIS暂用了端口,要停止服务才行)
也可以通过netstat -aon|findstr "端口"命令找到指定端口和PID
然后通过tasklist|findstr "PID"找到指定PID对应程序
关闭指定程序taskkill /f /t /im xxx.exe
4.J2EE的十三种规范
1、JDBC(java Database Connectivity)
2、JNDI(Java Name and Directory Interface)
3、EJB(Enterprise JavaBean):
4、RMI(RemoteMethod Invoke)
5、Java IDL(接口定义语言)/CORBA:公共对象请求代理结构(Common Object Request Breaker Architecture)
6、JSP(Java Server Pages)
7、Java Servlet
8、XML(Extensible Markup Language)
9、JMS(Java Message Service)
10、JTA(Java Transaction Architecture)
11、JTS(Java Transaction Service)
12、JavaMail
13、JAF(JavaBeans Activation Framework)
5.Tomcat的目录层次结构
6.虚拟目录的映射
把web应用所在目录交给web服务器管理,这个过程叫做:虚拟目录的映射
我们可以把Context理解成一个web应用,Context配置如下:
<Context path=”访问路径” docBase=”web应用所在目录”/>
Path=””表示缺省应用
虚拟目录映射有两种:
1.在server.xml里对应的host里配置context。
但这种方式每次都需要重启服务器,还有一种配置方式不需要重启服务器
2.在 $CATALINA_BASE/conf/[enginename]/[hostname]/里创建一个name.xml,
然后在xml里配置context,name就是访问路径,所以不需要再在Contenxt里配置path
多级目录配置如下:a#b#c
缺省应用配置如下:ROOT.xml
7.Web应用的组成结构
web.xml的配置在config/web.xml里有模板
8.配置虚拟主机Host
<Host name="www.baidu.com" appBase="E:\Java\web">
</Host>
3.在该Host里面配置Context,设为缺省应用
<Context path="" docBase="E:\Java\web\heima"/>
这样就OK了,在浏览器访问www.baidu.com,首先会查找本地hosts文件,然后就访问到了本地机器
然后通过请求头里面的host属性知道要访问本机的www.baidu.com这个主机,找到主机,找到缺省应用。
9.Tomcat体系结构
10.Http协议
小知识:
1.TomCat服务管理平台用户名和密码在tomcat-users.xml里,只有manager这个角色才能进入tomcat服务器管理平台
2.把web应用打包成war包:jar -cvf mail.war mail (注:把war包放在webapps里,服务器会自动解压war包)
3.CATALINA_HOME:一般不配置,如果配置了,那么tomcat启动后就会去找CATALINA_HOME文件下的web,与startup.bat所在目录无关。(注:tomcat不能放在中文或带空格的目录下)
4.互联网常见协议和对应的端口
http: 80
ftp:23
smtp:25
https:443