JavaWeb开发(二)IDEA创建Java Web项目并部署及目录结构

1. IDEA创建Java Web项目并部署

1.1. IDEA创建Java Web项目

  (1)点击“Create New Project”按钮新建项目。
在这里插入图片描述
  (2)选择“ Java Enterprise”,勾选“Web Application”,然后点击“Next”按钮 。
在这里插入图片描述
  (3)修改项目名称,然后点击“Finish”按钮 。
在这里插入图片描述
  (4)项目创建完成。
在这里插入图片描述

1.2. JavaWeb项目关联Tomcat

  (1)点击“Add Configuration…”---->“Tomcat Server”---->“Local”---->"Configure…"配置Tomcat。
在这里插入图片描述
  (2)选择本地Tomcat路径。
在这里插入图片描述
  (3)然后点击右上角的“+”---->“Tomcat Server”---->“Local”。
在这里插入图片描述
在这里插入图片描述
  (4)选择“Deployment”,然后点击右侧“+”选择Artifact,弹出界面选择项目,点击“Apply”按钮。
在这里插入图片描述
在这里插入图片描述
  (5)此时便可部署一个Tomcat项目。
在这里插入图片描述
在这里插入图片描述
  (6)运行后会自动打开网页。
在这里插入图片描述
  (7)此时项目会多出个out文件夹。
在这里插入图片描述

1.2. 项目发布的区别

  Update resources和Update classes and resources、Redeploy、Restart server的区别。
在这里插入图片描述

  webproject+tomcat+myeclipse开发环境,修改了项目,如修改java文件,web.xml struts-config文件,.properties文件,jsp文件 。
  在什么情况,要重新deploy redeploy;什么情况要stop再start tomcat , 什么情况只要文件保存,以上都不用做?
  (1)update resources ---- 更新静态的资源,比如html,js,css等 运行模式和调试模式都是立即生效;
  (2)update classes and resources ---- 更新java,jsp和静态资源( 1. java修改后,会被编译成.class,然后覆盖到target/kao文件夹下,IDE调试模式的情况下,立即生效。IDE运行模式下,不立即生效,需要redeployed才可生效。jsp修改后,再次被访问的时候,会自动更新,重新编译成java.class保存在tomcat的work目录下。由于是访问时才检测是否修改,是否需要重新编译,所以 IDE 运行模式 和IDEA调试模式下,都是立即生效。刷新下页面就可);
  (3)redeployed ----- 重新部署,发布到tomcat里,不重启tomcat,而是把原来的删掉,然后重新发布;
  (4)restart server ----- 重启tomcat。

2. JavaWeb项目的目录结构

2.1. 第一级目录

(1)静态资源(包括HTML,CSS,JS)
(2)WEB-INF(此文件夹下面的文件不能通过浏览器直接访问),WEB-INF下第二级目录(1.web.xlm :项目配置文件;2.lib:web项目的第三方jar; 3. class:class文件存放位置)

3. HTTP请求协议

  HTTP请求协议包括:请求行、请求头、请求体。
  HTTP响应协议包括:响应行、响应头、响应体。

4. Servlet技术

4.1. HttpServletResponse响应对象

  在Servlet Api中,定义了一个HttpServletResponse接口,它继承自ServletResponse,专门用于封装Http的请求。由于Http请求包含请求行、请求头和请求体三部分,因此在HttpServletResponse中分别发送响应头、响应行和响应体的相关方法。

4.1.1. 响应行

  响应行是包含了HTTP协议的版本,以及用于描述服务器对请求的处理结果。
  例如:HTTP/1.1 200 0K
  格式:协议/版本 状态码 状态码描述
  状态码:服务和和浏览器用于确定状态的固定数字号码
  200:请求成功
  302:请求重定向
  404:请求资源不存在,通常是访问路径写错了,或者服务器删除了该资源
  500:服务器内部发生错误
  (1)setStatus(int status):当Servlet向客户端发送响应消息时,需要设置一个状态码,该方法用于设置HTTP响应消息的状态码,并生成响应状态行。由于响应状态行中状态的描述直接和状态码相关,而HTTP协议版本有服务器决定,因此只需设置该方法,就可以发送一个响应行,正常情况下,web服务器会默认发送一个200的状态码。
  (2)setError(int code):用于发送表示错误信息的状态码。例如:404找不到访问的资源,它还有一个重要的形式sendError(int code, String errorMessage), errorMessage可以以文本的形式显示在客户端浏览器。

4.1.2. 响应头

  响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。
例如:
Server: Microsoft-IIS/5.0Date: Thu,13 Ju1 2000 05:46:53 GMT
Content-Length:2291
Content-Type: text/html
Cache-control: private

03-19
### IEEE 802.1Q VLAN Tagging Protocol Standard IEEE 802.1Q 是支持虚拟局域网(VLAN)的标准协议之一,通常被称为 Dot1q。该标准定义了一种用于以太网帧的 VLAN 标记系统以及交换机和桥接器处理这些标记帧的操作流程[^2]。 #### 协议结构概述 IEEE 802.1Q 的核心功能在于通过在以太网数据帧中插入特定字段来实现 VLAN 标签的功能。这种标签使得网络设备能够识别哪些流量属于哪个 VLAN,并据此执行转发决策。具体来说: - **Tag Header**: 在原始以太网帧头部增加了一个额外的 4 字节字段作为 VLAN 标签头。这四个字节包含了以下部分: - **Priority Code Point (PCP)**: 使用 3 比特表示优先级级别,范围从 0 到 7,主要用于 QoS 控制。 - **Canonical Format Indicator (CFI)**: 这是一个单比特位,在传统以太网环境中设置为零。 - **VLAN Identifier (VID)**: 使用 12 比特标识具体的 VLAN ID,理论上可以支持多达 4096 个不同的 VLAN(编号从 0 至 4095),其中某些特殊值保留给内部用途或管理目的。 #### 数据包处理机制 当一个带有 VLAN tag 的数据包进入支持 IEEE 802.1Q 的交换机时,它会依据此标签决定如何路由或者过滤该数据流。如果目标端口不属于同一 VLAN,则不会传输至其他无关联的物理接口上;反之亦然——只有相同 VLAN 成员之间才允许互相通信除非经过路由器跨网段访问[^1]。 此外,为了简化管理和配置过程并增强互操作性,还引入了一些辅助性的子协议和服务组件比如 GARP(通用属性注册协议)。GARP 可帮助分发有关 VLAN 成员资格的信息到各个连接节点以便动态调整其行为模式而无需频繁手动干预[^3]。 以下是创建带 VLAN TAG 的 Python 示例代码片段展示如何模拟构建这样的 Ethernet Frame: ```python from scapy.all import Ether, Dot1Q, IP, sendp def create_vlan_packet(src_mac="00:aa:bb:cc:dd:ee", dst_mac="ff:ff:ff:ff:ff:ff", vlan_id=100, src_ip="192.168.1.1", dst_ip="192.168.1.2"): ether = Ether(src=src_mac, dst=dst_mac) dot1q = Dot1Q(vlan=vlan_id) ip_layer = IP(src=src_ip, dst=dst_ip) packet = ether / dot1q / ip_layer return packet packet = create_vlan_packet() sendp(packet, iface="eth0") # Replace 'eth0' with your network interface name. ``` 上述脚本利用 Scapy 库生成包含指定源地址、目的地址及所属 VLAN 编号的数据报文并通过选定的网卡发送出去测试实际效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值