##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的更多相关文章

  1. Java学习笔记之---Servlet

    Java学习笔记之---Servlet (一)如何实现Servlet 1.实现javax.servlet.Servlet接口: 2.继承javax.servlet.GenericServlet类: 3 ...

  2. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  3. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  4. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  5. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  6. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  7. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  8. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  9. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

随机推荐

  1. 02 (H5*) Vue第二天

    目录: 1:全局过滤器的使用 2:局部过滤器 3:自定义键盘码 4:自定义指令 5:自定义私有指令 6:Vue生命周期. 7:网络请求 1:全局过滤器的使用 Vue.filter("msgF ...

  2. springboot jsp,过滤器,拦截器

    springboot使用jsp,过滤器,拦截器(拦截器与过滤器区别重点) jsp使用配置 一 创建springboot项目在maven中暂时只添加两个Dependencies :devtools(热部 ...

  3. Mongodb关于查询返回指定字段的方法记录

    //通常指定字段由前端传入后台,例如params 前端以逗号分隔 //后端获取字段后操作如下: Query query = new Query(); if (params != null) { Str ...

  4. 神奇的互换身体术--java的类型擦除

    故事背景 <互换身体>是由环球影业发行的喜剧电影,于2011年8月5日在美国上映.该片由大卫·道金执导,瑞安·雷诺兹.杰森·贝特曼.奥利维亚·王尔德等主演.该片讲述了一位居家好男人和一位蜂 ...

  5. selenium使用总结

    selenium selenium是一个支持各大浏览器的自动化测试工具,包括 Chrome,Safari,Firefox ,ie等.再构造爬虫时,如果我们加入了User-Agent,那么变伪装成了浏览 ...

  6. Linux入门基础之 下

    八.Linux 管道.重定向及文本处理 8.1.Linux 多命令协作:管道及重定向 8.1.1 开源文化 开源文化的核心理念之一就是不要重复发明轮子,很多的开源软件都是现有软件.代码.功能的重新组合 ...

  7. 微服务SpringCloud之注册中心Consul

    Consul 介绍 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发 ...

  8. 浅谈Spring的事务隔离级别与传播性

    浅谈Spring的事务隔离级别与传播性 这篇文章以一个问题开始,如果你知道答案的话就可以跳过不看啦@(o・ェ・)@ Q:在一个批量任务执行的过程中,调用多个子任务时,如果有一些子任务发生异常,只是回滚 ...

  9. 链表-LinkList

    什么是链表 维基百科:链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer).由于不必须按顺序存 ...

  10. 完整的Android MVP开发之旅

    开发背景 最近是在做一个与健身相关的APP,里面有训练器模块基本功能是按照特点动作的演示和描述来引导用户完成训练.在第一个版本时由于没接触过些类项目与功能花了几周的时间大概1500行代码才完成这个功能 ...