千家信息网

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

发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,这篇文章主要介绍JSP HTTP服务器如何实现对常规请求的支持,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JSP HTTP服务器对常规请求的支持这里的常规请求是指请求的资源为
千家信息网最后更新 2024年10月28日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安全错误 数据库的锁怎样保障安全 湛江市网络安全知晓问卷 上海中高端服务器应用范围 华为昆明软件开发公司成立 服务器怎么检测好坏 sql数据库用户的管理 如何设置nds服务器 500强网络安全企业 华为电视dns服务器是什么意思 电信服务器ip地址怎么填 db2导出数据库表数据 手抄报黑白素材网络安全 怎么在web服务器上申请证书 智慧团建获取数据库发生错误 实用网络技术2020春 江苏新一代软件开发过程服务标准 远程重启服务器 新型家庭网络安全 公众号文章打开数据库 如何树立正确网络安全观 数据库商品库存htmljsp redis缓存更新到数据库 金三系统是中国软件开发的吗 原神服务器不一样可以一起玩吗 手机软件开发专业知识 与数据库交互的自动化测试 数据库连接池怎么管理会话 万方数据库什么时候开始收费 宝中国网络技术有限公司 网络安全素质教育模拟考试 我的世界修仙服务器推荐星辰大陆
0