【JavaWeb学习笔记】6 - Tomcat
项目代码
零、在线文档?
Apache Tomcat 8 (8.0.53) - Documentation Index
WEB开发
1. WEB,在英语中web表示网/网络资源(页面,图片,css,js)意思,它用于表示WEB服务器(主机)供浏览器访问的资源
2. WEB服务器(主机)上供外界访问的Web资源分为:
????????静态web资源( 如htmD页面) :指web页面中供人们浏览的数据始终是不变。
????????动态web资源,比如Servlet、PHP等。
3.静态web资源开发技术
????????Html、CSS等
4.常用动态web资源开发技术:
????????Servlet、SpringBoot、 SpringMVC、PHP、ASP.NET等

B/S C/S开发
1. B: browser(浏览器)
2. S: Server(服务端)
1.C:Client(客户端)
2.S:Server(服务端)
(1)兼容性因为浏览器的种类很多,发现你写的程序,在某个浏览器会出现问题,其它浏览器正常
(2)安全性,通常情况下,BS安全性不如CS好控制
(3)易用性, BS好于CS,浏览器电脑有
(4)扩展性, BS相对统一, 只需要写Server
 ?

一、JavaWeb服务软件
1.介绍
1.学习JavaWeb开发,需要先安装JavaWeb服务软件(我们把安装了JavaWeb服务软件主机称为Web服务器/JavaWeb服务器) 在web服务器中开发相应的web资源。
2.学习JavaWeb开发,Tomcat本质就是一个Java程序, 但是这个Java程序可以处理来自浏览器的HTTP请求
2.模拟简单的Web服务程序
这里,我们需要使用到Java基础(IO/网络)
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * @author 银小海
 * @version 1.0
 * @email yinhai14@qq.com
 * 这是我们自己写的web服务 可以返回hello.html给浏览器
 */
public class MyTomcat {
    public static void main(String[] args) throws IOException {
        //1.在9999端口监听
        ServerSocket serverSocket = new ServerSocket(9999 );
        int i = 0;
        //如果serverSocket没有关闭就循环监听反复
        while (!serverSocket.isClosed()) {
            //2.等待客户端连接得到socket
            //http://localhost:9999表示浏览器向localhost(127.0.0.1)表示本机的9999端口发出请求
            System.out.println("程序在这句话" + ++i);
            Socket socket = serverSocket.accept();
            //3.得到输出流
            OutputStream outputStream = socket.getOutputStream();
            // outputStream.write("hello,i am mytomcat".getBytes());
            //4.读取hello.html文件返回即可
            BufferedReader bufferedReader = new BufferedReader(new FileReader("tomcat/src/hello.html"));
            String buf = "";
            while((buf = bufferedReader.readLine() )!= null){
                outputStream.write(buf.getBytes());
            }
            outputStream.close();
            socket.close();
        }
        serverSocket.close();
        //如果不使用while循环 查询当把信息返回去之后就马上关闭了 所以不能这么干
    }
}
使用上述传输时,出现以下问题


当前无法使用此页面
localhost 发送了无效的响应。qq浏览器 谷歌浏览器 edge都出现该问题,均能链接到程序但是无法显示
localhost:8080?localhost:9999均尝试了都不太行 确实能连接到 但是就是无法访问,应该是某个安全校验问题吧,使用firefox即可解决该问题

3.常用的JavaWeb服务软件
1. Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器,是当前应用最广的JavaWeb服务器(免费)。
2. Jboss: 是一个遵从JavaEE规范的、它支持所有的JavaEE规范(免费)。
3. GlassFish:由 Oracle公司开发的一款JavaWeb服务器,是一款商业服务器,达到产品级质量(应用很少)。
4. Resin:是CAUCHO公司的产品,是- -个非常流行的服务器,对servlet和JSP提供了良好的支持,性能也比较优良 (收费)。
5. WebLogic [很猛] :是Oracle公司的产品,支持JavaEE规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多适合大公司)
二、Tomcat的基本介绍
1.Tomcat下载安装

1.双击bin目录下的startup.bat文件

2.输入http:/ /localhost:8080/,显示如下界面代表安装成功

3.注意,不要关闭黑窗口,关闭了,tomcat服务就停止了.
4.也可以在bin目录下使用catalinna run启动

5.关闭最好是使用shutdown.?bat


2.启动故障排除
1.双击startup.bat文件,出现-一个小黑窗口然后就没了,原因是因为没有配置好JAVA HOME 环境变量
2. JAVA_ HOME 必须全大写
3. JAVA_ HOME 中间必须是下划线
4. JAVA_ HOME配置的路径只需要配置到jdk的安装目录即可。不需要带上bin目录
5.端口8080被占用[查看端口netstat -anb]
6.如果其它服务程序占用了8080端口,可以关闭该服务,或者修改Tomcat服务的默认端口8080?
7.配置JAVA_ HOME环境变量
3.目录结构

4.Tomcat服务中部署WEB应用
发人员在开发web应用时,按照规定目录结构存放这些文件。否则,在把web应用交给web服务器管理时,不仅可能会使web应用无法访问,还会导致web服务器启动报错。

?

5.浏览器访问web服务器文件UML时序图

6.修改Tomcat端口

三、IDEA开发JavaWeb工程
1.开发javaweb工程 & 配置TomCat启动项目
1.需要:使用IDEA开发开发JavaWeb工程fishWeb,并将网页部署到fishWeb工程,看老师演示



配置完成后如何配置本地tomcat


选择Tomcat的解压位置?

热加载

记得改名

点击绿色的运行执行
在浏览器输入该URL即可访问到Tomcat下的该文件

2.注意事项
(1) on update action :表示当我们更新操作是, Tomcat会自动更新类和资源(当jsp/html文件修改时可以生效)
(2) on frame deactivation :表示IDEA失去焦点(比如最小化),也会导致jsp/html发生更新, 但是java修改了,还是需要redeploy
2.端口修改
server.xml

3. out目录是什么
4.当我们从外部拷贝资源到项目(图片,文件, js等),如果出现404不能访问错误,解决方式rebulid project ->重启Tomcat
四、课后作业
 ?
?
注意指定编码格式?








注意是放在web包下 src是用来放java文件的


多看该图?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
