JAVA学习笔记-1.Tomcat&Servlet
##web相关概念
1.软件架构
1.C/S
2.B/S
2.资源分类
1.静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源, 静态资源可以直接被浏览器解析。
* 如:html, css, javascript
2.动态资源:每个用户访问相同资源后,得到的结果可能不一样,称为动态资源,需要先转换为静态资源,再返回浏览器。
* 如:servlet/jsp, php, asp
3.网络通信三要素
1.IP:电子设备在网络上的唯一标识
2.端口:应用程序在计算机中的唯一标识,0-65536之间,推荐:大于1024以上。
3.传输协议:规定了数据传输的规则
1.tcp:安全协议,三次握手,速度慢。
2.udp:不安全协议, 速度快。
##web服务器软件:
* 服务器:安装了服务器软件的计算机
* 服务器软件:接收用户的请求,处理请求,做出响应
* web服务器软件:
* 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目,
* 动态资源依赖web服务器软件, 所以web服务器软件也叫web容器
* 常见JAVA相关web服务器软件
* weblogic:oracle公司, 大型javaee服务器,支持所有javaee规范, 收费的。
* webshere:IBM, 大型javaee服务器,支持所有javaee规范, 收费的.
* JBOSS: JBOSS, 大型javaee服务器,支持所有javaee规范, 收费的.
* Tomcat:Apache基金组织,中小型JAVAEE服务器,支持少量的JAVAEE规范(servlet/jsp),开源免费。
* javaee:java语言在企业级开发中使用的技术规范总和,一共定义了13项大规范
## Tomcat:web服务器软件
1.下载:http://tomcat.apache.org (D:\study\JAVA\Tomcat)
2.安装:解压压缩包即可,不要有中文或空格目录
3.卸载:删除目录即可
4.启动:
1.bin/startup.bat ,双击运行
2.访问:浏览器输入:http://127.0.0.1:8080
* 可能遇到的问题:
1.黑窗口一闪而过
* 原因:没有正确配置JAVA_HOME环境变量
* 解决方案:正确配置JAVA_HOME环境变量
2.启动报错:(在日志目录查看报错日志:cause by)
1.暴力:netstat -ano, 找到PID, 在任务管理器-进行中找到对应进行,杀死。
2.温柔:conf-server.xml-port, 修改端口(注意:所有端口都要改)
5.关闭
1.正常关闭:
* bin/shutdown.bat
* 在启动窗口下按ctrl+C
2.强制关闭:
* 点击启动窗口的×
6.配置
* 部署项目的方式:
1.直接将项目放到webapps目录下即可。
* /hello/资源文件: 项目的访问路径(虚拟目录)
* 简单部署:将项目打包成war包,再将war包放置到webapps目录,war包会自动解压缩。(打包成zip后改后缀)
2.conf-server.xml-<host>标签中增加:(不安全,容易改坏Tomcat核心配置文件,需要重启服务)
<Context docBase="D:\hello" path="/hehe"/> (path代表虚拟目录)
3.conf-Catalina-localhost-自定义xml文件:(热部署)
* <Context docBase="D:\hello" />
* 虚拟目录就是自定义xml文件的名称
* 静态项目和动态项目
* 目录结构区别
* JAVA动态项目的目录结构
-- 项目的根目录
-- WEB-INF目录:web项目的核心配置文件
-- classes目录:放置字节码文件
-- lib目录:放置依赖的jar包
JAVA学习笔记-1.Tomcat&Servlet的更多相关文章
- Java学习笔记之---Servlet
Java学习笔记之---Servlet (一)如何实现Servlet 1.实现javax.servlet.Servlet接口: 2.继承javax.servlet.GenericServlet类: 3 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
随机推荐
- FEDay会后-Serverless与云开发,可能是前端的下一站
进化本身是生物体与环境之间持续不断的信息交换的具体表现. -- 摘自<信息简史> 很荣幸在9月21号成都举办的第五届FEDay上作为讲师为大家分享腾讯云在近两年推出的云开发相关的技术和知识 ...
- Java I/O系统学习四:标准IO
几乎所有学习Java的同学写的第一个程序都是hello world,使用的也都是System.out.println()这条语句来输出"hello world",我也不例外,当初学 ...
- 引用、浅拷贝及深拷贝 到 Map、Set(含对象assign、freeze方法、WeakMap、WeakSet及数组map、reduce等等方法)
从引用聊到深浅拷贝,从深拷贝过渡到ES6新数据结构Map及Set,再到另一个map即Array.map()和与其类似的Array.flatMap(),中间会有其他相关话题,例如Object.freez ...
- Hadoop入门 之 Hadoop常识
1.Hadoop是什么? 答:Hadoop是开源的分布式存储和分布式计算平台. 2.Hadoop的组成是什么? 答:Hadoop由HDFS和MapReduce这两个核心部分组成. HDFS(Hadoo ...
- VM虚拟机,如何放大虚拟机屏幕,如何导出虚拟机ovf
放大屏幕:,第一打开虚拟机,第二在需要放大的虚拟机上安装VMware tools 第三步查看>自动调节大小>自适应客户机.这样就可以放大屏幕了. 没有放大的屏幕 找到安装VMware ...
- [系列] go-gin-api 路由中间件 - Jaeger 链路追踪(六)
[DOC] 概述 首先同步下项目概况: 上篇文章分享了,路由中间件 - Jaeger 链路追踪(理论篇),这篇文章咱们接着分享:路由中间件 - Jaeger 链路追踪(实战篇). 这篇文章,确实让大家 ...
- Marshmallow权限使用
Google发布Android 6.0后对用权限的控制更加严格,在Android5.1或更低的版本中用户能在App的安装期间或使用设置应用程序权限来同意或拒绝某个权限,而在Android6.0或更高的 ...
- Springboot2.x整合RabbitMQ
1.RabbitMQ介绍 可参照RabbitMQ笔记 2.接入配置 pom依赖 <!--amqp依赖--> <dependency> <groupId>org.sp ...
- JS 取整、取余
一.取整 1. 取整 // 丢弃小数部分,保留整数部分 parseInt(7/2) // 3 2. 向上取整 // 向上取整,有小数就整数部分加1 Math.ceil(7/2) // 4 3. 向下取 ...
- HttpClient连接池的一些思考
前言 使用apache的httpclient进行http的交互处理已经很长时间了,而httpclient实例则使用了http连接池,想必大家也没有关心过连接池的管理.事实上,通过分析httpclien ...