Servlet实现简单代理服务器功能的问题

问题描述

这段代码是网上搜的,我不明白他这个是怎么实现代理的?我之前看过一个例子是用socket来做的,用了某个端口,这个servlet的代码能一直代理访问用户需要的url?不理解。。求指导。。。非常谢谢

importjava.io.*;  importjava.net.*;  importjavax.servlet.*;  importjavax.servlet.http.*;  publicclassProxyextendsHttpServlet  {publicvoiddoGet(HttpServletRequestrequest,  HttpServletResponseresponse)  throwsServletException,IOException  {Stringquery=null;  response.setContentType("text/html");  PrintWriterout=response.getWriter();  query=request.getParameter("URL");  if(query==null)  {response.sendError(HttpServletResponse.SC_BAD_REQUEST,  "MissingURLparameter");  return;  }  try  {query=URLDecoder.decode(query);  }  catch(Exceptionexception)  {response.sendError(HttpServletResponse.SC_BAD_REQUEST,  "URLdecodeerror"+exception);  return;  }  try  {URLurl=newURL(query);  BufferedReaderin=newBufferedReader(new  InputStreamReader(url.openStream()));  Stringline;  while((line=in.readLine())!=null)  out.println(line);  out.flush();  }  catch(IOExceptionexception)  {response.sendError(HttpServletResponse.SC_NOT_FOUND,  "Exception:"+exception);  }  }  }

解决方案

解决方案二:
servlet根据你传入的连接去请求这个连接,然后把这里连接输出,这样就是代理了》。
解决方案三:
代理的意思我懂的,但是doget这个类是用户访问Proxy这个webapp时,才会响应的吧,那他的requesturl指的是什么呢?难道访问了Proxy这个程序后,就能控制之后所有的url请求都走这个代理?还是不理解。。谢谢。。

时间: 2024-07-29 06:44:16

Servlet实现简单代理服务器功能的问题的相关文章

J2EE基础:Servlet实现代理服务器功能

J2EE基础:Servlet实现代理服务器功能. import java.io.*; import java.net.*; import javax.servlet.*; import javax.servlet.http.*; public class Proxy extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExce

怎么用servlet实现用户退出功能

问题描述 我们在做一个简单的聊天系统要求用servlet实现用户退出功能急切寻求解决办法请各位IT同学老师赐教 解决方案 解决方案二:方法1:清空Sessionrequest.getSession().invalidate();方法2:对于登录成功的用户加入在线用户列表,退出则将其从中删除.解决方案三:路过----帮顶!!!!解决方案四:session.invalidate()让session挂掉,自然就注销了解决方案五:引用楼主yf1990818的回复: 我们在做一个简单的聊天系统要求用ser

JS实现简单路由器功能的方法

  本文实例讲述了JS实现简单路由器功能的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 var wawa = {}; wawa.Router = function(){ function Router(){ } Router.prototype.setu

JS实现简单路由器功能的方法_javascript技巧

本文实例讲述了JS实现简单路由器功能的方法.分享给大家供大家参考.具体实现方法如下: var wawa = {}; wawa.Router = function(){ function Router(){ } Router.prototype.setup = function(routemap, defaultFunc){ var that = this, rule, func; this.routemap = []; this.defaultFunc = defaultFunc; for (v

我的天啊!visual studio 为什么一点简单的功能都做不好!???还是我用的不够好?

问题描述 从网上下载了一些参考教材.排版混乱方法和字段混在一起.想着正好学习下排版结果搞了半天发现居然没有全选属性或者方法这个功能!难倒要一个个去复制而且连基本的ctrl多选都没有必须要一段段整理.然后我在搜索里面写了个正则表达式算是选中了一部分.结果TM发现搜索只能替换不能剪切或者复制.我真是佩服.难倒这种简单的功能去让我一个个复制粘贴去?????? 解决方案 解决方案二:CTRL+A不就是全选吗?多选不是CTRL+鼠标吗?搜索出来的东西复制功能有什么用的?这个神奇了,多个结果怎么复制!解决方

库-哪位大神用android能实现简单图像检索功能呀?

问题描述 哪位大神用android能实现简单图像检索功能呀? 就是在android平台实现拍照存储并提取特征向量,最后与特征库进行比对,得到相同或者类似的图片并输出. 解决方案 用openCV技术可以实现

Android编程实现简单流量管理功能实例_Android

本文实例讲述了Android编程实现简单流量管理功能的方法.分享给大家供大家参考,具体如下: package cn.itcast.mobilesafe.ui; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import

html5+-求计算器简单加减乘除功能代码

问题描述 求计算器简单加减乘除功能代码 计算器 <!-- 外部css --> <!-- 外部移动层JS --> <!-- 外部计算功能JS --> <br> div{width:100%;height:800px;background:gray;}<br> 简单的计算器 <!-- 表单 --> <!-- 层的边框大小样式颜色 --> </tr> </table> </form> <

分享一款数据库代码生成的工具,非常简单,功能强大,速度快,非常适合中小网站开发

问题描述 分享一款数据库代码生成的工具,非常简单,功能强大,速度快,非常适合中小网站开发,适合Sqlite,Access,MsSql,MySql(Beta)等数据库这是我多年实战开发的一款数据库代码生成工具原文地址新建ASP.Net空网站TestWebSite修改Web.config添加以下内容添加引用,引用MaoCaiJun.DataBase.dll,MaoCaiJun.DataBase.Sys.dll,MySql.Data.dll,System.Data.SQLite.dll添加目录App_