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{ ...
随机推荐
- 01:***VideoToolbox硬编码H.264
最近接触了一些视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和解码,俗称为软编软解.该方法比较通用,但是占用CPU资源,编解码效率不高.一般系统都会提供GPU ...
- 19 (OC)* RunLoop
面试题 1:讲讲RunLoop,项目中有用到吗? 2:RunLoop内部实现逻辑? 3:Runloop和线程的关系? 4:timer 与 Runloop 的关系? 5:程序中添加每3秒响应一次的NST ...
- ASP.NET Core 2.2 : 二十三. 深入聊一聊配置的内部处理机制
上一章介绍了配置的多种数据源被注册.加载和获取的过程,本节看一下这个过程系统是如何实现的.(ASP.NET Core 系列目录) 一.数据源的注册 在上一节介绍的数据源设置中,appsettings. ...
- windows环境下搭建python虚拟环境及离线移植
以python3.6为例 ①安装virtualenv: #pip安装之后在D:\Python36\Scripts目录下可以看到多了一个virtualenv.exe可执行文件pip install vi ...
- [phyton]文件的简单读写练习
f.open() 用于打开一个文件. f=open("record.txt","w",encoding="utf-8")#打开文件,设置文件 ...
- Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js快速入门(二)
Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js快速入门(二) 前言 上篇文章对Vue.js有了初步理解,接下来我们把Vue.js基础语法快速的过一遍,先混个脸熟留个印象就 ...
- Python的未来发展方向
Python是一种跨平台的计算机程序设计语言. 是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发. ...
- JsonConfig的jsonConfig.setExcludes的用法
1.问题描述 在项目中经常会有两个类存在一对多或者多对一的关联关系,这样在查询多的一方时,会深入查询关联的一方,而我们可能并不需要去深入查询那些数据,此时使用JsonConfig的jsonConfig ...
- 使用apache的poi来实现数据导出到excel的功能——方式二
此次,介绍利用poi与layui table结合导出excel.这次不需要从数据库中查询出来的数据进行每一行的拼接那么麻烦,我们这次将标题定义一个id值,对应从数据库中查找出来的字段名即可. 1.po ...
- 记录ceph两个rbd删除不了的处理过程
在一个使用的环境发现两个ceph的rbd删除不了,发现两个rbd都是由于残留了watch的信息.在此记录处理过程. 处理方法 [root@node- ~]# rbd -4cce-b39d-709e05 ...