java必知必会-j2ee规范(上)

文章目录

  • 一、WEB三大规范
  • 二、j2ee相关接口(上)
    • 1.javax.servlet.Servlet
    • 2.javax.servlet.http.HttpServlet
    • 3.javax.servlet.ServletRequest
    • 4.javax.servlet.http.HttpServletRequest
    • 5.javax.servlet.ServletResponse
    • 6.javax.servlet.http.HttpServletResponse
    • 7. javax.servlet.ServletContext
    • 8. javax.servlet.ServletConfig
  • 总结


一、WEB三大规范

  • servlet
  • filter
  • listener

二、j2ee相关接口(上)

1.javax.servlet.Servlet

  • servlet用于获取请求数据、处理请求、完成响应
  • 使用servlet可以实现servlet接口并配置web.xml,但是不推荐
  • init(ServletConfig config);//servlet对象创建的时候执行ServletConfig:代表的是该servlet对象的配置信息
  • service(ServletRequest request,ServletResponse response);//每次请求都会执行
  • destroy();//servlet销毁的时候执行

2.javax.servlet.http.HttpServlet

  • 使用servlet可以继承HttpServlet并复写HttpServlet类的doGet、doPost方法并配置web.xml
  • init();//servlet对象创建的时候执行
  • doGet(HttpServletRequest request,HttpServletResponse response);//每次get请求都会执行
  • doPost(HttpServletRequest request,HttpServletResponse response);//每次post请求都会执行
  • destroy();//servlet销毁的时候执行

3.javax.servlet.ServletRequest

4.javax.servlet.http.HttpServletRequest

  • 获得请求行
    • String getContextPath()获得”/“+web应用名称,例如/WEB15_request
    • String getMethod()
    • String getRequestURI()获得相对web应用地址/WEB15_request/line
    • String getRequestURL()获得绝对路径http://localhost:8080/WEB15_request/line
    • String getRemoteAddr()获得访问的客户端IP地址
    • String getQueryString()get提交url地址后的参数字符串username=lisi&password=123
    • String getProtocol();获取请求行中的协议名和版本
    • String getServletPath();
    • String getRemotePort();
    • String getRemoteHost();
    • String getLocalAddr();
    • String getLocalName();
    • String getLocalHost();
    • int getLocalPort();
    • String getServerName();
    • int getServerPort();
    • String getScheme();//获取请求协议名
    • StringBuffer getRequestURL();
  • 获得请求头
    • String getHeader(String name)
    • Enumeration getHeaders(String name)
    • Enumeration getHeaderNames()
    • Long getDateHeader(String name)
    • int getIntHeader(String name)
    • String getContentType()
    • int getContentLength()
    • String getCharacterEncoding()
  • 获得请求体
    • String getParameter(String name) 多个只获得一个,没有则返回null
    • Map<String,String[]> getParameterMap()获得指定参数名对应的所有键值
    • String[] getParameterValues(String name)获得指定参数名对应的所有值(少用)
    • Enumeration getParameterNames()
  • 乱码:浏览器的中文用UTF-8编码,而HTTP协议使用iSO8859-1编码。不同的浏览器接收和发送数据取决于浏览器类型,通过Http请求体中的User-Agent属性可以辨别
    • post乱码 request.setCharacterEncoding(“UTF-8”);
    • get乱码 String parameter=new String(parameter.getbytes(“iso8859-1”),“utf-8”);
  • 转发 request.getRequestDispatcher(”/?”).forward(req,resp);
  • 域对象
    • Object setAttribute (String name, Object o)set注意名字相同时则覆盖
    • String getAttribute(String name)
    • void removeAttribute(String name)

5.javax.servlet.ServletResponse

6.javax.servlet.http.HttpServletResponse

  • 设置响应行
    • void setStatus(int sc)
    • void sendError(int sc,[String messge])
  • 设置响应头(值不重复)
    • void addHeader(String name, String value)
    • void setHeader(String name, String value);
  • 设置定时刷新的头:setHeader(“refresh”, “5;url=http://www.baidu.com”);
    • void addIntHeader(String name, int value)
    • void setIntHeader(String name, int value)
    • void addDateHeader(String name, long date)
    • void setDateHeader(String name, long date)
    • void setContentLength(int len)
    • void setContentType(String type)
    • void setLocale(Locale loc)
    • void setCharacterEncoding(String charset)
  • 设置响应体
    • getWriter().write(“”)字符串,可以插入标签
    • getOutputStream().write(byte[] bytes) 因为getWriter()之前已调用getOutputStream(),故两者不能同时使用
    • setHeader(“content-Type”,“text/html;charset=utf-8”);中文乱码
    • sendRedirect(“/WEB14/servlet2”);重定向
    • setStatus(302);setHeader(“Location”, “/WEB14/servlet2”);

7. javax.servlet.ServletContext

  • 获得ServletContext
    • ServletConfig.getServletContext();
    • this.getServletContext();(推荐)
  • 获得web.xml全局的初始化参数 getInitParameter(String name);
  • 域对象(整个web应用)
    • void setAtrribute(String name,Object obj);
    • Object getAttribute(String name);
    • void removeAttribute(String name);
  • WebContext目录内任何资源绝对路径
    • String getRealPath(String path);//:/WEB-INF/
    • InputStream getResourceAsStream(String path); 以/开头path相对WebContext目录InputStream

8. javax.servlet.ServletConfig

  • 获得该servlet在web.xml上的name String getServletName();
  • 获得该servlet的初始化的参数
    • String getInitParameter(String name);
    • Enumeration getInitParameterNames();
  • 获得Servletcontext对象 ServletContext getServletContext();

总结

本文介绍了的j2ee规范(上),如有问题欢迎私信和评论

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣双指针算法题目:复写零

1.题目 . - 力扣&#xff08;LeetCode&#xff09; 2.解题思路 本题要求就是对于一个数组顺序表&#xff0c;将表中的所有“0”元素都向后再写一遍&#xff0c;且我们还要保证此元素之后的元素不受到影响&#xff0c;且复写零之后此数组顺序表的总长度不可以改变&#xff0c;…

C#(asp.net)房屋租赁管理系统-计算机毕业设计源码64421

目 录 摘要 1 绪论 1.1 研究背景与意义 1.2开发现状 1.3论文结构与章节安排 2 房屋租赁管理系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 …

如何利用好用便签提高工作效率?

在忙碌的工作中&#xff0c;我们经常需要记住许多琐碎的任务。如果这些任务被遗忘&#xff0c;可能会对我们的工作产生影响。这时&#xff0c;便签就成为了我们的得力助手。通过合理的使用和管理&#xff0c;便签不仅能帮助我们记住重要的事项&#xff0c;还能提高我们的工作效…

中科蓝讯AB5607E蓝牙5.4 低成本带插卡带U盘音箱方案

方案概述 中科蓝讯AB5607E蓝牙5.4 低成本带插卡带U盘音箱方案&#xff0c;我们已有成熟的方案&#xff0c;用户可以免开发&#xff08;零代码&#xff09;快速完成带插卡带U盘蓝牙音箱&#xff0c;提供原理图&#xff0c;PCB Layout指导。 方案优势 低成本&#xff0c;IC成本低…

【Linux进程】进程优先级 Linux 2.6内核进程的调度

前言 进程是资源分配的基本单位, 在OS中存在这很多的进程, 那么就必然存在着资源竞争的问题, 操作系统是如何进行资源分配的? 对于多个进程同时运行, 操作系统又是如何调度达到并发呢? 本文将以Linux kernel 2.6为例 , 向大家介绍进程在操作系统中 (OS) 的调度原理; 1. 进程优…

【开发工具-前端必备神器】WebStrom2024版-安装和使用(小白学习)

一、官方下载地址 Other Versions - WebStorm 选择适合自己电脑的下载 二、安装步骤 1、双击下载的exe安装 2、选择安装目录【建议不要安装在C盘下】 3、安装选项&#xff0c;可以全选 4一直点击下一步就行了 5.双击运行 安装遇到问题&#xff1a; 我是下错版本了&#xff0…

Motion Guidance: 扩散模型实现图像精确编辑的创新方法

在深度学习领域&#xff0c;扩散模型&#xff08;diffusion models&#xff09;因其能够根据文本描述生成高质量图像而备受关注。然而&#xff0c;这些模型在精确编辑图像中对象的布局、位置、姿态和形状方面仍存在挑战。本文提出了一种名为“运动引导”&#xff08;motion gui…

【LLM】一、利用ollama本地部署大模型

目录 前言 一、Ollama 简介 1、什么是Ollama 2、特点&#xff1a; 二、Windows部署 1.下载 2.安装 3.测试安装 4.模型部署&#xff1a; 5.注意 三、 Docker部署 1.docker安装 2.ollama镜像拉取 3.ollama运行容器 4.模型部署&#xff1a; 5.注意&#xff1a; 总结 前言…

【C++】哈希表 ---开散列版本的实现

你很自由 充满了无限可能 这是很棒的事 我衷心祈祷你可以相信自己 无悔地燃烧自己的人生 -- 东野圭吾 《解忧杂货店》 开散列版本的实现 1 前言2 开散列版本的实现2.1 节点设计2.2 框架搭建2.3 插入函数2.4 删除函数2.5 查找操作2.6 测试 Thanks♪(&#xff65;ω&#x…

OpenCV 灰度直方图及熵的计算

目录 一、概述 1.1灰度直方图 1.1.1灰度直方图的原理 1.1.2灰度直方图的应用 1.1.3直方图的评判标准 1.2熵 二、代码实现 三、实现效果 3.1直方图显示 3.2 熵的计算 一、概述 OpenCV中的灰度直方图是一个关键的工具&#xff0c;用于分析和理解图像的灰度分布情况。直…

Excel多表格合并

我这里一共有25张表格: 所有表的表头和格式都一样,但是内容不一样: 现在我要做的是把所有表格的内容合并到一起,研究了一下发现WPS的这项功能要开会员的,本来想用代码撸出来的,但是后来想想还是找其他办法,后来找到"易用宝"这个插件,这个插件可以从如下地址下载:ht…

图像处理中的二维傅里叶变换

图像处理中的二维傅里叶变换 问题来源是对彩色图像进行压缩时得出的傅里叶系数的图像如何解释&#xff0c;导入图片&#xff0c;转化为灰度图片&#xff1a; #彩色图片一般是由RGB组成&#xff0c;其实就是3个二维数组叠加而成&#xff0c;当RGB时&#xff0c;彩色图片就会变成…

【线性代数的本质】矩阵与线性变换

线性变化要满足两点性质&#xff1a; 直线&#xff08;连续的点&#xff09;在变换后还是直线。原点不变。 假设有坐标轴&#xff08;基底&#xff09; i ^ \widehat{i} i 和 j ^ \widehat{j} j ​&#xff1a; i ^ [ 1 0 ] , j ^ [ 0 1 ] \widehat{i}\begin{bmatrix} 1 \…

【leetcode】双指针算法题

文章目录 1.算法思想2.移动零3.复写零方法一方法二 4.快乐数5.盛水最多的容器方法一&#xff08;暴力求解&#xff09;方法二&#xff08;左右指针&#xff09; 6.有效三角形的个数方法一&#xff08;暴力求解&#xff09;方法二&#xff08;左右指针&#xff09; 7.两数之和8.…

ONLYOFFICE 8.1版本震撼来袭,让办公更高效、更智能

官网链接&#xff1a; 在线PDF查看器和转换器 | ONLYOFFICE 在线办公套件 | ONLYOFFICE 随着科技的不断发展&#xff0c;办公软件已经成为现代企业提高工作效率、实现信息共享的重要工具。在我国&#xff0c;一款名为ONLYOFFICE的在线办公套件受到了越来越多企业的青睐。今天…

Prompt-Free Diffusion: Taking “Text” out of Text-to-Image Diffusion Models

CVPR2024 SHI Labshttps://arxiv.org/pdf/2305.16223https://github.com/SHI-Labs/Prompt-Free-Diffusion 问题引入 在SD模型的基础之上&#xff0c;去掉text prompt&#xff0c;使用reference image作为生成图片语义的指导&#xff0c;optional structure image作为生成图片…

深入理解【 String类】

目录 1、String类的重要性 2、常用方法 2、1 字符串构造 2、2 String对象的比较 2、3 字符串查找 2、4字符转换 数值和字符串转换&#xff1a; 大小写转化&#xff1a; 字符串转数组&#xff1a; 格式转化&#xff1a; 2、5 字符串替换 2、6字符串拆分 2、7 字符串…

知名品牌因商标痛失市场:114家直营店山寨店7000多家!

奶茶知名品牌“鹿角巷”当年红遍大江南北&#xff0c;是最早的新茶饮品牌&#xff0c;但是当年商标注册存在问题&#xff0c;被同行奶茶品牌抢占了先机&#xff0c;发声明“对大陆商标注册细则不详&#xff0c;在商标注册过程中让假店钻了法律空档”&#xff0c;最夸张的时候全…

python如何不保留小数

1、int() 向下取整&#xff08;内置函数&#xff09; n 3.75 print(int(n)) >>> 3 n 3.25 print(int(n)) >>> 3 2、round() 四舍五入&#xff08;内置函数&#xff09; n 3.75 print(round(n)) >>> 4 n 3.25 print(round(n)) >>> 3 …

JavaScript(5)——数据类型和类型检测

字符串类型String 通过单引号&#xff08; &#xff09;、双引号(" "&#xff09;或反引号&#xff08; &#xff09;都叫字符串&#xff0c;单引号和双引号本质上没有区别&#xff0c;一般使用单引号。 注意&#xff1a; 无论单引号或是双引号必须成对使用单引号和…