介绍JSPHTTP服务器实现的以下特性

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

在科尔沁右翼中等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站制作 网站设计制作按需定制开发,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,外贸网站建设,科尔沁右翼中网站建设费用合理。

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

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

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

 
 
 
  1. //Create client socket output stream 
  2. m_sout = new PrintWriter(m_s.getOutputStream(), true);
  3. m_soutx = null;
  4. m_sout.println("HTTP/1.0 200 OK\nMIME-Version:1.0\nContent-Type:text/html\n\n");
  5. File file = new File(fileName);
  6. if(file.exists() == true)
  7. {
  8. //Create local file input stream 
  9. BufferedReader fin = new BufferedReader(new FileReader(file) );
  10. String line = null;
  11. String response = "";
  12. //Read file by lines 
  13. while( (line = fin.readLine() ) != null)
  14. {
  15. responseresponse = response + line + "\n";
  16. }
  17. //Send the content to client socket 
  18. m_sout.println(response);
  19. //Close local file handle 
  20. fin.close();

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

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

 
 
 
  1. //Create client socket output stream 
  2. m_sm_soutx = m_s.getOutputStream();
  3. m_sout = null;
  4. String header = "HTTP/1.0 200 OK\nMIME-Version:1.0\n";
  5. //Send content to client socket 
  6. m_soutx.write(header.getBytes() );
  7. String mime = "";
  8. //Get MIME by file type 
  9. switch(typeFlag)
  10. {
  11. case TYPE_JPEG: //jpeg file 
  12. {
  13. mime = "image/jpeg";
  14. break;
  15. }
  16. case TYPE_GIF: //gif file 
  17. {
  18. mime = "image/gif";
  19. break;
  20. }
  21. case TYPE_BMP: //bmp file 
  22. {
  23. mime = "image/bmp";
  24. break;
  25. }
  26. case TYPE_PNG: //png file 
  27. {
  28. mime = "image/png";
  29. break;
  30. }
  31. }
  32. mime = "Content-Type:" + mime + "\n\n";
  33. m_soutx.write(mime.getBytes() );
  34. File file = new File(fileName);
  35. if(file.exists() == true) //Read image files and send to client socket 
  36. {
  37. //Create local file input stream 
  38. RandomAccessFile fin = new RandomAccessFile(fileName, "r");
  39. final long size = fin.length();
  40. byte [] buffer = new byte[(int)size];
  41. fin.readFully(buffer);
  42. fin.close();
  43. //Send data to client socket 
  44. m_soutx.write(buffer);
  45. }
  46. //Close client socket output stream 
  47. 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

标题名称:介绍JSPHTTP服务器实现的以下特性
网页地址:http://www.shufengxianlan.com/qtweb/news9/536459.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联