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{ ...
随机推荐
- 15 (OC)* UIGesture
前言 本文主要内容如下: 1. UIGestureRecognizer 属性.方法.代理和七个子类详解. 2. 讲讲 UIGestureRecognizer 和 UITouch 事件的关系. 3. 讲 ...
- 【linux】【jenkins】自动化运维四 整合gitlab、docker发布java项目
jenkins发布java项目 过程参考发布vue项目.https://www.cnblogs.com/jxd283465/p/11543431.html 大同小异. vue建立的是Freestyle ...
- git使用笔记-git项目的建立及配置、创建子分支及独立分支、分支重命名
一.git的基本使用 1.下载安装git (略) 2.配置gitconfig 配置内容:(主要是你的git的账户信息,提交命令的别名) 3.配置git公钥(输入$ ssh-keygen -t rsa ...
- SQL Server 内存优化表的索引设计
测试的版本:SQL Server 2017 内存优化表上可以创建哈希索引(Hash Index)和内存优化非聚集(NONCLUSTERED)索引,这两种类型的索引也是内存优化的,称作内存优化索引,和基 ...
- [python]汉诺塔问题
相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏.该游戏是在一块铜板装置上,有三根杆(编号A.B.C),在A杆自下而上.由大到小按顺序放置64个金盘(如下图).游戏的目标:把A杆上的金盘全部 ...
- Flutter免费(视频)教程汇总
Flutter学习导航 Flutter简介: Flutter可以轻松快速地构建漂亮的移动应用程序. Flutter是谷歌的移动应用SDK,用于短时间内在iOS和Android上制作高质量的原生界面应用 ...
- Python 编译器与解释器
Python 编译器与解释器 Python的环境我们已经搭建好了,可以开始学习基础知识了.但是,在此之前,还要先说说编译器与解释器相关的内容. 如果这部分内容,让你觉得难以理解或不能完全明白,可以暂时 ...
- JVM 调优 - jstat
Java命令学习系列(四)——jstat 2015-07-31 分类:Java 阅读(11041) 评论(1) 阿里大牛珍藏架构资料,点击链接免费获取 jstat(JVM Statistics Mon ...
- 基于C#的机器学习--机器学习建模的基础
构建ML模型的步骤 现在我们已经看了解到了一些ML应用程序的例子,问题是,我们如何构建这样的ML应用程序和系统? 下图总结了我们使用ML开发应用程序的方法,我们将在下面更详细地讨论这个问题: 如上图所 ...
- 基于vue-cli3.11.0创建创建vue项目
如果电脑已安装vue-cli2.9.6,需要先卸载,然后重装vue-cli3.11.0操作如下 等待几分钟,卸载完成,输入npm install -g @vue/cli 等待安装完成,输入vue -V ...