一、Web相关概念的回顾

1、软件架构

  • C/S
  • B/S

2、资源分类

  • 静态资源

    • 所有用户访问得到相同结果
    • 三剑客
    • 浏览器通过静态解析引擎将从服务器接收到的静态资源显示到页面上
  • 动态资源
    • 不同用户访问得到的结果不同
    • jsp/servlet、php、asp
    • 访问时,会先转换为静态资源,再被浏览器解析

3、网络通信三要素

  • IP:计算机在网络中的唯一标识
  • 端口号:应用程序在计算机中的唯一标识,建议>1024-65536
  • 传输协议:定义了数据通信的规则
    • TCP:三次握手
    • UDP:不安全广播,可能会丢失数据

二、Web服务器软件

1、基本概念

  • 服务器:安装了服务器软件的计算机
  • 服务器软件:接收请求、处理请求、做出响应
  • web服务器软件:同上,但由浏览器访问,也被称为web容器
    • webLogic:Oracle公司(Java,Oracle,MySQL),大型的JavaEE服务器,支持所有的JavaEE规范,收费的

      • JavaSE--Java基础版(Java Platform,Standard Edition)
      • JavaEE--Java企业版,Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范
      • JavaME--Java迷你版
    • webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的
    • JBOSS:JBOSS公司,大型的JavaEE服务器,支持所有的JavaEE规范,使用免费,文档和服务收费
    • Tomcat:Apache基金组织,做出来的产品开源免费,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范(jsp/servlet)。开源的,免费的

2、Tomcat

  • 下载
  • 安装
  • 卸载:删除目录
  • 启动
    • windows运行start.bat
    • linux运行start.bash
  • 访问:默认端口8080
    • 一闪而过:未配置好jdk
    • 端口占用:netstat -ano 寻找pid
    • 修改端口:conf/server.xml
  • 关闭:
    • 正常关闭

      • shutdown.bat
      • ctrl+c
    • 强制关闭:点×
  • 部署:
    • 直接拷贝到webapp下
    • 配置conf/server.xml,修改host中的docBase属性
    • Catalina\localhost中创建一个xml文件,同样配置<Context docBase……/>

三、Serlvet

1、概述

  • Sever Applet:A servlet is a small Java program that runs within a Web server.
  • 实际上是一个接口,定义了Java类访问时被tomcat识别的规则
  • 需要:定义Servlet接口的实现类,重写方法

2、快速入门

  • 创建JavaEE项目
  • 编写Servlet实现类
  • 实现接口抽象方法
  • 在web.xml中进行配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--配置Servlet-->
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cn.liujinhui.web.servlet.ServletDemo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1</url-pattern>
</servlet-mapping> </web-app>

Run--Edit---tomcat-deployment---路径改为/项目名,这样便于管理

3、执行原理

  • 当服务器接收到客户端浏览器的请求后,会解析请求的URL路径,获取访问的Servlet资源路径
  • 查找web.xml文件是否有对应的<url-pattern>标签体内容
  • 如果有,则找到对应的<servlet-class>全类名
  • tomcat会将字节码文件加载进内存,并且创建其对象
  • 调用其方法

4、生命周期的方法

  • 被创建:执行init方法

    • 第一次被访问时
    • 内存中只有一个对象,是单例的
    • 多个用户访问可能存在线程安全问题:不要在servlet内定义成员变量
  • 提供服务
    • 每次访问都会执行
  • 被销毁
    • 服务器正常关闭时被销毁
    • 执行destory释放资源

5、Servlet3.0注解

  • 支持注解,无需web.xml
  • 方式:类上加注解
//@WebServlet(urlPatterns = "/demo",value="/demo")urlpattern最重要,value和其值相同,可以省略键,只写访问的地址
@WebServlet("/demo")//servlet的资源路径

6、IDEA与tomcat相关配置

  • 为每个项目单独建配置文件

    • Using CATALINA_BASE: "C:\Users\Administrator\.IntelliJIdea2017.2\system\tomcat\Tomcat_8_5_53_ljh_web_2"/conf/server.xml
  • 工作空间目录    D:\IdeaProjects\ljh_web\day13_servlet
  • tomcat访问的是虚拟目录   D:\IdeaProjects\ljh_web\out\artifacts\day13_servlet_war_exploded
  • web-inf下的资源不能被浏览器访问

【Java EE】Day13 Web概念回顾、Tomcat、Servlet的更多相关文章

  1. Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules

    在eclipse里面配置tomcat时候遇到的问题: Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web mo ...

  2. eclise配置tomcat出现服务Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4 and Java EE 5 Web modules

    当部署项目Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, 1.5 and Java EE 5 Web modules错;解决方案,如下面: 空 ...

  3. Web开发之Tomcat&Servlet

    <!doctype html>01 - JavaEE - Tomcat&Servlet figure:first-child { margin-top: -20px; } #wri ...

  4. java web 开发入门 --- tomcat/servlet/jsp

    在做java web 开发时,要先安装tomcat.它是一个web服务器,也叫web容器,我们把写好的jsp, html页面放到它里面,然后启动它,就可以用浏览器访问这些页面,地址栏中输入localh ...

  5. java EE 环境配置(JDK + Tomcat + Eclipse for java EE)

    这学期的课程多数都是java语言的,像Java Web程序设计,java课程设计案例,所以趁周末先把软件,环境配置好. 下载JDK 先给上下载链接:http://www.oracle.com/tech ...

  6. Java EE (3) -- Java EE 6 Web Services Developer Certified Expert(1z0-897)

    Create an SOAP web service in a servlet container Create a RESTful web service in a servlet containe ...

  7. idea 导入 eclipse java ee 项目,并使用 tomcat 7 部署运行

    1.导入java ee项目.直接open 2.导入jar依赖 3.修改编译的目录 4.修改tomcat目录 5.tomcat添加目录 请注意classes单词 D:\project\xxxxxx\We ...

  8. Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules的解决办法

    前提:用eclipse做项目,新建“Dynamic Web Project”时,“Dynamic web module version”栏里选了3.0版本,部署项目的时候出现了如题的错误. 解决办法: ...

  9. 解决Tomcat 6.0 只支持 J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules

    通过search,发现在project的.setting folder下面,有个名为org.eclipse.wst.common.project.facet.core.xml的文件,里面配置有各种版本 ...

  10. eclipse:eclipse for java EE环境下如何配置tomcat服务器,并让tomcat服务器显示在控制台上,将Web应用部署到tomcat中

    eclipse环境下如何配置tomcat 打开Eclipse,单击"Window"菜单,选择下方的"Preferences".  单击"Server& ...

随机推荐

  1. CentOS7使用tar方式安装Containerd,配置文件介绍

    主机:centos 7.9 下载 官网GitHub上下载地址:https://github.com/containerd/containerd/releases 问题: 创建容器后,运行的时候报错: ...

  2. MySQL集群搭建(1)-主备搭建

    数据库在任何业务中都是最重要的环节之一,这就对数据库架构提出的较高的要求.单点数据库永远不应该出现在生产环境,我们已经目睹过太多由于单点.备份缺失造成的损失,所以,搭建高可用 MySQL 集群是非常有 ...

  3. mac 批量修改文件的后缀名

    1-将需要修改的文件拖到同一个文件夹 2-打开终端输入 for i in *; do mv "$i" "$i.jpg";done

  4. 重学Java泛型

    一丶从字节码层面看范型擦除 public class Type1<T> { private T t; } 使用jclasslib插件查看其字节码: 可以看到 t属性的类型是List< ...

  5. 数据火器库八卦系列之瑞士军刀随APP携带的SQLite

    来源:云数据库技术 数据库打工仔喃喃自语的八卦历史 1. 为导弹巡洋舰设计,用在手机上的数据库 2. Small and Simple, and Better 3. 如何看出是自己的娃:产品定位,特点 ...

  6. 痞子衡嵌入式:一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事(SR寄存器BP[x:0]位)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事. 痞子衡最近在支持一个 i.MXRT1170 欧 ...

  7. Leetcode链表

    Leetcode链表 一.闲聊 边学边刷的--慢慢写慢慢更 二.题目 1.移除链表元素 题干: 思路: 删除链表节点,就多了一个判断等值. 由于是单向链表,所以要删除节点时要找到目标节点的上一个节点, ...

  8. count(*), count(1), count(列名)的区别

    1.从结果上来看 count(1)和count(*)之间没有区别,因为count(*)count(1)都不会去过滤空值,但count(列名)就有区别了,因为count(列名)会去过滤空值. 2.从执行 ...

  9. NOIP 2013 洛谷P1966 火柴排队 (树状数组求逆序对)

    对于a[],b[]两个数组,我们应选取其中一个为基准,再运用树状数组求逆序对的方法就行了. 大佬博客:https://www.cnblogs.com/luckyblock/p/11482130.htm ...

  10. aws上传文件、删除文件、图像识别

    目录 aws的上传.删除s3文件以及图像识别文字功能 准备工作 安装aws cli 初始化配置AWS CLI s3存储桶开通 图像识别文字功能开通 aws的sdk 上传文件 方法一 方法二 删除文件 ...