java 重定向端口_java – 重定向到另一个端口,保留所有其余的端口
开箱即用的重写处理程序
我快速浏览了Jetty开箱即用的重写处理程序.从我可以从文档/示例中收集到的内容,它们似乎只在URL的路径部分进行实际重写(即端口之后的所有内容,而不是我们想要的内容)(如果我错了,请纠正我! ).
编写请求处理程序
一个让你开始的基本例子,如果你只想使用嵌入式jetty,你可以编写一个请求处理程序,将所有请求重定向到给定的端口.
它的工作方式是PortRedirector使用handle方法处理HTTP请求.它构建原始请求URL,将端口更改为目标“to”端口,并将客户端重定向到新URL.
在以下示例中,服务器侦听端口1234,并将所有请求重定向到端口8080.
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Redirector {
public static void main(String[] args) throws Exception {
Server server = new Server(1234);
server.setHandler(new PortRedirector(8080));
server.start();
server.dumpStdErr();
server.join();
}
static class PortRedirector extends AbstractHandler {
int to;
PortRedirector(int to) {
this.to = to;
}
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String uri = request.getScheme() + "://" +
request.getServerName() +
":" + to +
request.getRequestURI() +
(request.getQueryString() != null ? "?" + request.getQueryString() : "");
response.sendRedirect(uri);
}
}
}
参考文献:
java 重定向端口_java – 重定向到另一个端口,保留所有其余的端口相关推荐
- 集线器端口上的电涌:一个USB设备超过其集线器端口的电源限制
集线器端口上的电涌:一个USB设备超过其集线器端口的电源限制 花了三个小时查阅了大量资料,终于把这个问题大致弄清楚了,差点全盘格式化,主要是因为不认盘的缘故,以为分区表全部损坏.我一开始就怀疑是供电不 ...
- java通过不同请求转发不同端口_java重定向与请求转发的区别
请求转发: request.getRequestDispatcher().forward(); 重定向: response.sendRedirect(); 例如: 请求转发: request.getR ...
- java atm模拟系统_Java RPC模式开发一个银行atm模拟系统
采用rpc模式开发一个银行atm模拟系统. 系统主要提供一个服务Card,该服务接口可以提供登录.查询.取钱.存钱等功能.服务接口的设计和实现自定义. Atm客户端功能需求: 1.ATM可以实现用户登 ...
- 另一个.java文件调用_java - 如何调用另一个类“写文件”的方法? - SO中文参考 - www.soinside.com...
在我的Android应用程序,我想有一类处理所有"写入/读取到文本文件"的行动.所以,我根本就调用我的readUserFile.java文件我想的方法.但我的方法将不会在该文件中工 ...
- java jaxb 集合_java.util.List是一个接口,JAXB不能处理接口
java.util.List是一个接口,JAXB不能处理接口 尝试部署我的应用程序时,我似乎得到以下exception: Caused by: com.sun.xml.bind.v2.runtime. ...
- java复杂吗_java – 是哈希一个合适的解决方案吗?我过度复杂吗?
我写了一个2D平台游戏,我需要房间(最多4个)门.我用 Java编写它,但语言是无关紧要的. 每个房间可以在顶部,底部和侧面设有4扇门.我称他们为北,南,东,西.当我建立一个房间时,我只给它一个整数, ...
- java手动输入函数_Java程序如何添加一个函数,如果玩家输入错误,它将返回代码。...
我的程序有问题,不是代码问题,而是我要怎么做,这是我一直困惑的部分.只是为了让你知道我是一个基本的Java编码器,我不理解复杂的东西,所以请记住,我的代码不是最好的. ---------------- ...
- java 设计方法_java 中如何处理设计一个方法
java 中我们很常见的设计 API 的例子是对一个对象进行增, 删, 查,改. 比如 Object addObject(Object obj); Object delObject(Object ob ...
- java jdialog 模态_java – 如何在另一个模态JDialog之上创建一个模态的JDialog
不确定你有什么问题,但这里是一个例子,你可以有多个模态对话框: import java.awt.BorderLayout; import java.awt.Window; import java.aw ...
最新文章
- 神经科学中的数学之美
- mysql 三层架构开发_从三层架构迈向领域驱动设计(转载)
- 10G_Ethernet_03 Example Design
- svg mysql_SVG 实例
- 港股区块链板块持续上行,火币科技涨超50%
- java面试题jvm_经典面试题|讲一讲JVM的组成
- Mac技巧,更改Mac桌面图片
- java计数器占位符_深入理解Java虚拟机- 学习笔记 - Java内存区域
- 三菱PLC编程软件 GX Developer 8.86 中文版的下载与安装 (win 7 64位)
- adb工具包的安装和使用方法
- linux 分区100g整数,160GB硬盘双系统整数分区推荐方案
- 计算机系统从本地硬盘启动设置,技嘉主板电脑在BIOS中设置硬盘启动教程
- 有关《家》的经典歌曲_盘点《乐队的夏天》15首经典歌曲,太好听了!
- visio增加连接点
- EfficientDet实验笔记
- Linux 目录中的etc是什么缩写
- sigmoid和softmax
- C语言再学习25——常用字符串函数归纳
- 基于fastadmin的工业园区科技园水电费管理系统
- 国密算法SM2 密钥对的生成