【Java EE】Day13 Web概念回顾、Tomcat、Servlet
一、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)。开源的,免费的
- webLogic:Oracle公司(Java,Oracle,MySQL),大型的JavaEE服务器,支持所有的JavaEE规范,收费的
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的更多相关文章
- 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 ...
- 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错;解决方案,如下面: 空 ...
- Web开发之Tomcat&Servlet
<!doctype html>01 - JavaEE - Tomcat&Servlet figure:first-child { margin-top: -20px; } #wri ...
- java web 开发入门 --- tomcat/servlet/jsp
在做java web 开发时,要先安装tomcat.它是一个web服务器,也叫web容器,我们把写好的jsp, html页面放到它里面,然后启动它,就可以用浏览器访问这些页面,地址栏中输入localh ...
- java EE 环境配置(JDK + Tomcat + Eclipse for java EE)
这学期的课程多数都是java语言的,像Java Web程序设计,java课程设计案例,所以趁周末先把软件,环境配置好. 下载JDK 先给上下载链接:http://www.oracle.com/tech ...
- 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 ...
- idea 导入 eclipse java ee 项目,并使用 tomcat 7 部署运行
1.导入java ee项目.直接open 2.导入jar依赖 3.修改编译的目录 4.修改tomcat目录 5.tomcat添加目录 请注意classes单词 D:\project\xxxxxx\We ...
- 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版本,部署项目的时候出现了如题的错误. 解决办法: ...
- 解决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的文件,里面配置有各种版本 ...
- eclipse:eclipse for java EE环境下如何配置tomcat服务器,并让tomcat服务器显示在控制台上,将Web应用部署到tomcat中
eclipse环境下如何配置tomcat 打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 单击"Server& ...
随机推荐
- aspnetcore6.0源代码编译调试
虽然编译源码折腾了几个时间(卡在restore),最后还是跑起来了aspnetcore6.0mvc源码项目,下面说步骤,前提是网络能连外,对于不能连外的懒得折腾. 第一步 电脑找个地克隆下GitHub ...
- Kubernetes 监控:Prometheus Operator + Thanos ---实践篇
具体参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/16291296.html 本章用到的yaml文件地址:https://files.cnblogs.com/ ...
- 重要参考文档---MySQL 8.0.29 使用yum方式安装,开启navicat远程连接,搭建主从,读写分离(需要使用到ProxySQL,此文不讲述这个)
yum方式安装 echo "删除系统默认或之前可能安装的其他版本的 mysql" for i in $(rpm -qa|grep mysql);do rpm -e $i --nod ...
- 请推荐下比较适合中小企业的ERP系统,如odoo,除前期开发和不定期完善,有没有其他固定月费或年费?
odoo的话你自己就可以下载开源的安装使用的啊,如果你要别人帮你开发和完善做技术服务的话一般都还是要年费的,主要是因为要帮你做维护或修bug什么的,自己能搞定的话自然不需要的哦.只是odoo使用的是p ...
- PHP全栈开发(八):CSS Ⅰ 选择器
直到目前为止,我们把从HTML中的数据是如何通过PHP到服务器端,然后又通过PHP到数据库,然后从数据库中出来,通过PHP到HTML的整个过程通过一个案例过了一遍. 可以说,这些才刚刚开始.下面我们开 ...
- P7961 [NOIP2021] 数列 (DP 刷表法)
(n<=30,是个多维的DP) v数组就是用来计算权值的,一共有m+1个.将S看做一个二进制数,按照题目S的定义,相当于在S的每一位可以随便+1(满足限制情况下),一共可以加n次. 我们来建立D ...
- 220702 T1 玩具 (图的同构,全排列判定)
[题目描述] Tom和Jerry各有一个玩具,每个玩具都是由M根绳子连接到N个球上制成的. 在Tom的玩具中,球的编号为1,-,N,第i条绳子将球Ai和Bi连接起来. 类似地,在Jerry的玩具中,球 ...
- Spring Boot 源码学习之转载
这次的学习,主要转载了 波波老师的笔记,后续会自己整理一份 1.Spring-Boot源码分析-源码编译:https://dpb-bobokaoya-sm.blog.csdn.net/article/ ...
- Java云原生崛起微服务框架Quarkus入门实践
@ 目录 概述 定义 GraalVM简介 为何使用 特性 官方性能 实战 入门示例 步骤 安装GraalVM 创建quarkus工程 Idea导入项目 Idea运行和调试 打包成普通的Jar 打包成依 ...
- MinGW配置C语言编译器gcc和g++
首先,在 https://sourceforge.net/projects/mingw/files/latest/download 下载安装MinGW,如下图所示: 点Installation-> ...