web概念

  1. 软件架构

    C/S:客户端/服务器端

    B/s:浏览器/服务器端

  2. 资源分类

    • 静态资源

      所有用户访问后得到的结果是一样的,即被称为静态资源,比如html、css、javascript

    • 动态资源

      每个用户访问后得到的结果是不一样的,被称为动态资源。动态资源访问后需要转换为静态资源返回给浏览器端。比如:servlet、jsp、asp

  3. 网络通信三要素

    • IP

      电子设备在网络中的唯一标识

    • 端口

      应用程序在计算机中的唯一标识

    • 网络协议

      规定了数据传输的规则

      tcp:安全协议,三次握手。HTTP、FTP、SMTP、POP3

      udp:不安全协议,速度快。DHCP、DNS、RIP、SNTP

web服务器软件

  1. 服务器

    安装了服务器软件的计算机

  2. 服务器软件

    接受用户请求、处理用户请求、做出响应

  3. web服务器软件

    接受用户请求、处理用户请求、做出响应。在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目。

    Tomcat就是一种web服务器软件。

Tomcat使用

  1. 部署项目

    • 直接放在webapps目录下即可,访问的时候文件夹/文件名

    • 简化部署,将项目打包成一个war包,将war包放在webapps目录下,war包会自动解压缩,访问方式同上

    • 配置conf/server.xml文件,可以将项目放在任意目录下

         在<Host>标签体中配置
      <Context docBase="D:\hello" path="/hehe" />
      

      docBase:项目存放的路径

      path:虚拟目录

    • 热部署方式(推荐)

      在conf/Catalina/localhost创建一个name.xml文件

         <Context docBase="D:\hello" />
      

      虚拟目录就是name

java动态项目

WEB-INF目录

–web.xml 核心配置文件

–classes目录 放置字节码文件的目录

–lib目录 放置依赖的jar包

IDEA集成Tomcat

servlet(server applet)

  1. 概念

    运行在服务端的小程序

    本质上是一个接口,定义了java类被浏览器访问到的规则

  2. 快速入门

    • 创建一个javaEE项目

    • 定义一个类实现servlet接口

    • 实现抽象方法

    • 配置servlet

      在web.xml文件中配置

      <servlet><servlet-name>demo1</servlet-name><servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
      </servlet>
      <servlet-mapping><servlet-name>demo1</servlet-name><url-pattern>/demo1</url-pattern>
      </servlet-mapping>
      
  3. 执行原理

    • 服务器解析浏览器输入的路径,解析URL路径,获取servlet资源路径
    • 查找web.xml,看是否有对应的中的内容
    • 如果有,再找到配置文件中对应的servlet的全类名,将该类字节码对象加载进内存,并创建字节码对象
    • 调用其方法
  4. servlet3.0支持注解配置

    @WebServlet("/requestDemo2")
    

IDEA与tomcat配置

  1. IDEA会为每一个tomcat部署的项目单独建立一个配置文件。查看控制台的log:

    Using CATALINA_BASE:   "C:\Users\fqy\.IntelliJIdea2018.1\system\tomcat\_itcast"
    
  2. 工作空间项目 和 tomcat部署的web项目

    • tomcat真正访问的是“tomcat部署的web项目”,“tomcat部署的web项目"对应着"工作空间项目” 的web目录下的所有资源
    • WEB-INF目录下的资源不能被浏览器直接访问。

TomcatServlet快速入门相关推荐

  1. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  2. 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧

    异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...

  3. Spring Boot 2 快速教程:WebFlux 快速入门(二)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...

  4. Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)

    2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...

  5. 《iOS9开发快速入门》——导读

    本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...

  6. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序

    BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...

  7. python scrapy菜鸟教程_scrapy学习笔记(一)快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...

  8. OpenStack快速入门

    OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装.我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解.我 ...

  9. Expression Blend实例中文教程(2) - 界面快速入门

    上一篇主要介绍Expression系列产品,另外概述了Blend的强大功能,本篇将用Blend 3创建一个新Silverlight项目,通过创建的过程,对Blend进行快速入门学习. 在开始使用Ble ...

最新文章

  1. android clean 框架,clean架构
  2. MicroPython技术及应用定义
  3. Java之 javaObject与jsonString的转换
  4. Eureka-服务注册
  5. Socket之UDP服务器【Python】
  6. 大学生要学计算机嘛,大学新生有必要买电脑吗,为什么很多人都带电脑去学校了?...
  7. .NET网络编程学习(三)
  8. 深度有趣 | 30 快速图像风格迁移
  9. UVA - 514:Rails
  10. 用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败问题
  11. XHTML CSS 常见问题和解决方案
  12. dubbo配置文件xml校验报错
  13. ASP.NET之通过JS向服务端(后台)发出请求(__doPostBack is undefined)
  14. C语言计算表达式咋写,C语言如何计算表达式(x++)+(++x)+(x++)
  15. 临时开启PHP错误提示
  16. 券商交易模式下的单产品多券商方案
  17. react+ts 实现类组件 父子组件传值
  18. 台式电脑属于小型电子计算机,个人计算机属于小型计算机。
  19. 谷歌的云计算是什么样子的?
  20. 鲜为人知的PCB抄板常识,您了解多少?

热门文章

  1. uniapp关于this.$refs.xxx获取组件出现undefined的解决方法
  2. [附源码]Java计算机毕业设计SSM高校迎新管理系统
  3. 建立一个网站的具体过程详述域名申请
  4. 公共建筑能耗监控节能方案改善措施及系统介绍
  5. OpenGL缓冲区对象之EBO
  6. python学习(二):python的数据挖掘技术,网络爬虫
  7. 通信工程专业学生走进C语言
  8. MySQL删除数据库时无响应解决办法
  9. 对美的追求:苹果官网主页的历史回顾,全部精美大图
  10. 三步学会制作一个小程序