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{ ...
随机推荐
- java数据结构——单链表、双端链表、双向链表(Linked List)
1.继续学习单链表,终于摆脱数组的魔爪了,单链表分为数据域(前突)和引用域(指针域)(后继),还有一个头结点(就好比一辆火车,我们只关心火车头,不关心其它车厢,只需知晓车头顺藤摸瓜即可),头结点没有前 ...
- 新手学习FFmpeg - 调用API完成视频的读取和输出
在写了几个avfilter之后,原本以为对ffmpeg应该算是入门了. 结果今天想对一个视频文件进行转码操作,才发现基本的视频读取,输出都搞不定. 痛定思痛,仔细研究了一下ffmpeg提供的examp ...
- 品Spring:SpringBoot发起bean定义注册的“二次攻坚战”
上一篇文章整体非常轻松,因为在容器启动前,只注册了一个bean定义,就是SpringBoot的主类. OK,今天接着从容器的启动入手,找出剩余所有的bean定义的注册过程. 具体细节肯定会颇为复杂,同 ...
- [转]Linux下 tar.xz格式文件的解压方法
现在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式. 和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案 ...
- 非对称加密openssl协议在php7实践
据网上资料,RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商务中RSA被广泛使用.RSA是1977年由罗纳德·李维斯特(RON RIVEST).阿迪·萨莫尔(ADI SHAMIR)和伦纳德· ...
- mysql root用户登录后无法查看数据库全部表
可能是把root@localhost用户删掉了. 首先停掉mysql服务,在/etc/my.cnf中添加 skip-grant-tables,同时可以添加skip-networking选项来禁用网络功 ...
- 你竟然不装油猴插件-Chrome神器TamperMonkey
油猴插件是一款可以在chrome浏览器中使用油猴脚本的插件.理解为脚本运行的平台 脚本 是一段代码,安装之后,有些脚本能为网站添加新的功能,有些能使网站的界面更加易用,有些则能隐藏网站上烦人的部分内容 ...
- 一个随意list引发的惨案(java到底是值传递还是引用 传递?)
前两天写了一个递归,因为太年轻,把一个递归方法需要用到的list定义该递归方法外了,结果开始断点测试的时候有点小问题 ,然后上线之后因为数据量太多导致了一个java.util.ConcurrentMo ...
- Knative 暂时不会捐给任何基金会 | 云原生生态周报 Vol. 22
作者 | 新胜.心贵.进超.元毅.衷源 业界要闻 谷歌:不会向任何基金会捐赠 Knative 自 Knative 项目开始以来,一直存在关于是否将 Knative 捐赠给基金会(例如 CNCF)的疑问 ...
- IDEA 学习笔记之 1.5已经过时问题
1.5已经过时问题: apache-maven-3.5.0\conf\settings.xml添加: <profile> <id>jdk-1.8</id> < ...