千家信息网

JSP HTTP服务器如何实现对常规请求的支持

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍JSP HTTP服务器如何实现对常规请求的支持,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JSP HTTP服务器对常规请求的支持这里的常规请求是指请求的资源为
千家信息网最后更新 2025年01月18日JSP HTTP服务器如何实现对常规请求的支持

这篇文章主要介绍JSP HTTP服务器如何实现对常规请求的支持,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

JSP HTTP服务器对常规请求的支持

这里的常规请求是指请求的资源为文件类型,不需要进行解释,编译,执行等处理。例如:文本文件(*.TXT),超文本文件(*.HTM,*.HTML),脚本文件(*.JS,*.VBS等),图片文件(*.JPG,*.PNG,*.GIF,*.BMP)。

处理基于文件流的请求较为简单。只需要读取本地的文件资源,再发送给客户端即可。

1.JSP HTTP服务器文件流请求的处理示例代码

//Create client socket output stream   m_sout = new PrintWriter(m_s.getOutputStream(), true);  m_soutx = null;  m_sout.println("HTTP/1.0 200 OK\nMIME-Version:1.0\nContent-Type:text/html\n\n");  File file = new File(fileName);  if(file.exists() == true)  {  //Create local file input stream   BufferedReader fin = new BufferedReader(new FileReader(file) );  String line = null;  String response = "";  //Read file by lines   while( (line = fin.readLine() ) != null)  {  responseresponse = response + line + "\n";  }  //Send the content to client socket   m_sout.println(response);  //Close local file handle   fin.close();  }

以上是处理基于文本流的请求,以下是处理基于二进制流的请求实例代码。

2.JSP HTTP服务器二进制流文件的处理示例代码

//Create client socket output stream   m_sm_soutx = m_s.getOutputStream();  m_sout = null;  String header = "HTTP/1.0 200 OK\nMIME-Version:1.0\n";  //Send content to client socket   m_soutx.write(header.getBytes() );  String mime = "";  //Get MIME by file type   switch(typeFlag)  {  case TYPE_JPEG: //jpeg file   {  mime = "image/jpeg";  break;  }  case TYPE_GIF: //gif file   {  mime = "image/gif";  break;  }  case TYPE_BMP: //bmp file   {  mime = "image/bmp";  break;  }  case TYPE_PNG: //png file   {  mime = "image/png";  break;  }  }  mime = "Content-Type:" + mime + "\n\n";  m_soutx.write(mime.getBytes() );  File file = new File(fileName);  if(file.exists() == true) //Read image files and send to client socket   {  //Create local file input stream   RandomAccessFile fin = new RandomAccessFile(fileName, "r");  final long size = fin.length();  byte [] buffer = new byte[(int)size];  fin.readFully(buffer);  fin.close();  //Send data to client socket   m_soutx.write(buffer);  }  //Close client socket output stream   m_soutx.close();

从以上代码可以看出,处理文本流和二进制流的请求的方式是不相同的,文本流的文件是按照行进行处理,而二进制流的文件是以批量读取。

其中关键的是,对于不同的文件类型,发送数据给客户端时必须指明服务器端应答的媒体类型,即MIME(Multipurpose Internet Mail Extensions),这样应答给客户端的资源才能被客户端浏览器所识别,并调用相应的应用程序对资源进行读取。
文件类型 扩展名 MIME
文本文件 .TXT text/plain
HTML(HyperText Markup Language)文件 .HTML,.HTM text/html
JPEG(Joint Photographic Experts Group)文件 .JPG,.JPEG image/jpeg
PNG(Portable Network Graphic Format)文件 .PNG image/png
BMP(Bitmap)文件 .BMP application/x-MS-bmp
GIF(Graphics Interchange Format)文件 .GIF image/gif
XML(EXtensible Markup Language)文件 .XML text/xml

常用类型文件的MIME

以上是"JSP HTTP服务器如何实现对常规请求的支持"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

文件 处理 服务器 服务 文本 类型 常规 二进制 代码 客户 资源 支持 客户端 内容 示例 篇文章 不同 相同 价值 关键 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 林州民宿软件开发 2016年首都网络安全日 陈硕高性能服务器 软件开发利润如何缴税 国泰安数据库如何查询股票收益率 浙江计算机应用软件开发多少钱 服务器安全项目需要哪些知识 网络技术赚钱兼职 常熟理工网络安全实验NAT 潍坊政府办公软件开发 东方通科技股份有限公司网络安全 实验室 服务器 公司服务器存储 服务器部署腾讯云sdk 关系型数据库最常见的索引类型 吕梁网络技术发展 电脑软件插到服务器没反应怎么办 上市公司的软件开发部门裁员吗 河北大学网络安全活动 GFM服务器是什么意思 广东梦想农场案例解析软件开发 网络安全违规外联存在的问题 图灵远程软件开发真假 三级sql数据库 网络安全板报简笔画 玩cf为啥一直服务器断开连接 河南北欧网络技术有限公司 服务器硬盘取出来后怎么格式化 南岸区工商软件开发服务常见问题 软件开发工具是什么样的软件
0