java web开发

  • 什么是javaEE
javaEE是企业版 是一个web开发平台 规范了web技术标准
技术有 JDBC JSP XML Servlet 
硬件服务器:和pc一样属于计算机
软件服务器:文件服务器 数据库服务器 应用服务器java EE 应用服务器  是收费的 实现了EE技术
web 服务器 实现了部分技术 servlet jsp xml  开源的
  • tomcat
tomcat是免费的web服务器 依赖于JDK  采用java开发 
目录结构
1.bin 存放tomcat命令文件 
2.conf 配置目录 
3. lib  存放tomcat 运行需要的jar包
4. logs 存放日志文件 
5. work 编译后的文件
6. webapp 存放应用程序 可以是war包 或是文件夹 tomcat日志分为两种 
1.系统日志   catalin 系统和输出日志都会到这里   localhost 异常捕获日志  manager 自带的manager项目日志  localhost_access   访问日志
2.控制台日志 catalin  控制台输出到这里启动方式 脚本启动
1 启动  startup.bat    或是使用 catlina.bat  start
2 关闭  shutdown.bat  或是 catlina.bat stop tomcat 配置文件
1 context.xml       公用环境配置文件 修改配置不需要重启
2 web.xml           web项目描述文件 是所有web.xml的父文件 
3 server.xml		tomcat核心配置文件 每一个元素对应一个tomcat组件 	
4 tomcat-users.xml  访问tomcat首页的用户和角色1.解决控制台输出乱码问题
由于编码不统一导致的 win 系统默认是GBK  而tomcat默认编码是utf-8
java.util.logging.ConsoleHandler.encoding = GBK
2. 修改tomcat 监听端口
server.xml 文件来修改 默认是8080 tomcat默认只支持http协议  其他协议需要配置才可以使用启动一个server组件就是一个tomcat实例  context组件就是一个web应用 可以项目访问路径和项目位置
servlet是采用单进程多线程的方式运行
web.xml是web项目的描述文件 是javaweb工程的配置文件 通过他来配置servlet filter等技术 
tomcat在启动时会先加载web.xml 获取项目配置信息
在web.xml中配置servlet其实就是实例化一个类  servlet-mapping是将路径映射到这个类中
  • 部署Servlet
web工程目录结构 
1.webapps 目录是tomcat部署web项目的根目录
2.项目根目录
3.WEB-INF web资源目录
4. CLASS目录编译后的class文件
5. lib 目录 项目依赖的第三方jar包
6. web.xml 项目部署描述文件
  • 请求信息
-HttpServletRequest对象
HttpServletRequest对象是代表浏览器客户端请求 服务器会将http请求信息封装到这类中 通过该方法可以获取请求信息
设置请求编码
request.setCharacterEncoding("utf-8")  网络中的数据包是字节 服务器会转化成字符 可能会出现乱码
绝对路径 是以/开头 代表项目的context path 
相对路径 是以context path 为相对路径
  • 对象和作用域
- ServletContext对象
当容器启动时会创建这个对象并一直缓存该对象,直到容器关闭,被称为是全局容器
- ServletConfig对象
该对象代表对应web.xml文件中servlet节点,能够获取配置的类型路径和信息
- CookieHttpSession
维护客户端浏览器与服务器的会话状态, 因为http协议是无状态的 服务器不会记录其信息,
cookie是通过客户端浏览器会话状态维持
httpsession 是服务器端会话维持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

<JavaEE> TCP 的通信机制(一) -- 确认应答 和 超时重传

目录 TCP的通信机制的核心特性 一、确认应答 1)什么是确认应答? 2)如何“确认”? 3)如何“应答”? 二、超时重传 1)丢包的概念 2)什么是超时重传? 3&#xff09…

详解信道容量,信道速率,安全速率的区别

目录 一. 信道容量与信道速率 二. 小结 三. 安全速率与物理层安全 3.1 香农物理层安全模型 3.2 安全信道速率 四. 补充安全中断概率(Secrecy Outage Probability, SOP) 五. 补充安全分集度(Secrecy Diversity Order, SDO) …

如何通过 useMemo 和 useCallback 提升你的 React 应用性能

背景 在 React 中,useMemo 和 useCallback 这两个 hook 是我们优化应用性能的有力工具。它们会返回 memoized 版本的值或函数,只在依赖项发生变化时才进行重新计算或定义。 Hook 介绍 useMemo useMemo 的作用是返回一个 memoized 值,它接…

AAAI 2024 | 用逆向思维图(ReX-GoT)进行多选对话常识推理

©PaperWeekly 原创 作者 | 郑理 单位 | 武汉大学硕士生 研究方向 | 自然语言处理 论文题目: Reverse Multi-Choice Dialogue Commonsense Inference with Graph-of-Thought 论文作者: 郑理,费豪,李霏,李波波&am…

EI级 | Matlab实现TCN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

EI级 | Matlab实现TCN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 EI级 | Matlab实现TCN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.【EI级】 Matlab实现TCN-BiGRU-Mult…

【数据分析】数据分析方法|市场细分与同期群分析

【数据分析】数据分析方法|市场细分与同期群分析 数据分析的目的总的来说只有两个:一个是证伪(或证实);另一个是推理。证伪是为了确认过程的正确性,这个过程通常是一项具体的业务;推理是为了找到某种确实的逻辑,比如某…

2023年03月09日_谷歌视觉语言模型PaLM-E的介绍

自从最近微软凭借OpenAI 和ChatGPT火了一把之后呢 老对手Google就总想着扳回一局 之前发布了硬刚ChatGPT的Bard 但是没想到翻车了 弄巧成拙 所以呢Google这一周又发了个大招 发布了史上最大的视觉语言模型PaLM-E 这个模型有多夸张呢 参数量高达5,620亿 是ChatGTP-3的三…

爬虫工作量由小到大的思维转变---<第二十六章 Scrapy通一通中间件的问题>

前言: 准备迈入scrapy-redis或者是scrapyd的领域进行一番吹牛~ 忽然想到,遗漏了中间件这个环节! 讲吧~太广泛了;不讲吧,又觉得有遗漏...所以,本章浅谈中间件; (有问题,欢迎私信! 我写文告诉你解法) 正文: 当我们谈到 Scrapy 的中间件时,可以将其比作一个特殊的助…

Python使用PyMySql增删改查Mysql数据库

PyMysql简介 PyMysql是Python中用于连接MySQL数据库的一个第三方库,它实现了MySQL客户端/服务器协议,使得Python程序能够与MySQL服务器进行交互。由于Python 2的mysql-python(又称mysqldb)模块在Python 3上支持不够完善&#xff0…

在C#中,typeof关键字

在C#中,typeof关键字被用于获取一个类型的 System.Type 对象。这个功能是非常有用的,尤其是在下面这些场景中: 反射(Reflection): typeof在使用反射时非常关键。通过获取类型的 Type 对象,你可以查询这个类…

nextTick的原理

开发中有这么一个需求&#xff0c;回显的适合&#xff0c;el-tree的检查严格标志属性更新为true。当更新完成后&#xff0c;又要改为false。还原。 <template><div><el-tree:data"data"show-checkbox:check-strictly"checkStrictly"default…

linux安装java8

1、下载java 根据自己系统的位数下载 查看系统位数命令&#xff1a;getconf LONG_BIT 下载地址 https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html 2、解压、移动 将下载的文件上传到linux系统中并解压 tar -zxvf jdk-8u333-linux…

LC 1154. 一年中的第几天

1154. 一年中的第几天 难度 &#xff1a; 简单 题目大意&#xff1a; 给你一个字符串 date &#xff0c;按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1&#xff1a; 输入&#xff1a;date "2019-01-09" 输出&#xff…

条件编译处理多端差异

条件编译https://uniapp.dcloud.net.cn/tutorial/platform.html#%E4%B8%BA%E4%BB%80%E4%B9%88%E9%80%89%E6%8B%A9%E6%9D%A1%E4%BB%B6%E7%BC%96%E8%AF%91%E5%A4%84%E7%90%86%E8%B7%A8%E7%AB%AF%E5%85%BC%E5%AE%B9 <template><view class"container"><…

OSPF ROUTER-ID-新版(15)

目录 整体拓扑 操作步骤 1.INT 验证Router-ID选举规则 1.1 查看路由器Router-ID 1.2 配置R1地址 1.3 查看R1接口信息 1.4 查看R1Router-ID 1.5 删除接口IP并查看Router-ID 1.6 手工配置Router-ID 2.基本配置 2.1 配置R1的IP 2.2 配置R2的IP 2.3 配置R3的IP 2.4 配…

基于Unity Editor开发一个技能编辑器可能涉及到的内容

基于Unity Editor开发一个技能编辑器&#xff0c;涉及到的方面较多&#xff0c;涵盖了Unity自身的GUI框架、序列化系统、自定义编辑器、脚本调用与数据存储等。下面是几个关键点和你可能会用到的类以及API&#xff1a; 自定义Inspector&#xff1a; 使用Editor类来重写组件的I…

c++ 简单实用万能异常捕获

多层捕获异常&#xff0c;逐渐严格。并打印出错信息和位置&#xff1a;哪个文件&#xff0c;哪个函数&#xff0c;具体哪一行代码。 #include <stdexcept> // 包含标准异常类的头文件try {int a 2 / 0; }catch (const std::runtime_error& e) {// 捕获 std::runt…

游戏任务系统实现思路

文章目录 一、需求介绍二、数据库设计3、代码部分实现 一、需求介绍 1、首先任务的类型不同&#xff0c;可以分为&#xff1a;日常任务、成长任务、活动任务等等。 2、当达到任务目标时&#xff0c;自动发放任务奖励。 3、任务需要后台可配置&#xff0c;例如&#xff1a;任务…

访问公网视频监控平台,看不到实时视频的问题查处

一、实时监控视频看不到了的问题出现 今天在给客户演示实时视频监控&#xff0c;通过公网平台能够正常查看各个品牌IPC的实时视频&#xff08;在浏览器页面输入“http://公网平台IP地址”&#xff0c;关于IP地址详细介绍&#xff0c;可以看以前文章&#xff09;&#xff0c;如下…

Python集成开发工具

第二章、IDE&#xff08;PyCharm&#xff09; 一、设置py文件模板 设置模版 二、格式化代码设置 三、PyCharm运行python源文件的模式 第一次按照何种模式执行测试用例&#xff0c;后续都会按照这种方式去执行 普通模式&#xff0c;unittest模式&#xff0c;pytest模式介绍 四…