jetty文件服务器,在Jetty中访问Web容器外部的文件

2023-11-07

我在Windows XP SP3中使用Eclipse 3.6开发GWT应用程序。该应用程序需要显示驻留在服务器上的图形文件夹的内容到客户端。此外,图形文件夹不在Web容器内,而在硬盘中的另一个位置。 Eclispe使用Jetty HTTP服务器运行Web应用程序。我在我的RemoteServiceServlet中使用以下代码片段来测试文件访问并获取文本文件的内容。在Jetty中访问Web容器外部的文件

File inputFile = new File("C:\\mytext.txt");

FileReader fin = new FileReader(inputFile);

char c[] = new char[(char)inputFile.length()];

int i;

i = fin.read(c);

s = new String(c);

不幸的是我得到一个错误,我不知道如何翻译它以纠正代码(或任何配置文件)。

Initializing AppEngine server

Unable to access http://appengine.google.com/api/updatecheck?runtime=java&release=1.5.1&timestamp=1308100600&api_versions=['1.0']

java.net.UnknownHostException: appengine.google.com

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at sun.net.NetworkClient.doConnect(Unknown Source)

at sun.net.www.http.HttpClient.openServer(Unknown Source)

at sun.net.www.http.HttpClient.openServer(Unknown Source)

at sun.net.www.http.HttpClient.(Unknown Source)

at sun.net.www.http.HttpClient.New(Unknown Source)

at sun.net.www.http.HttpClient.New(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

at java.net.URL.openStream(Unknown Source)

at com.google.appengine.tools.info.RemoteVersionFactory.getVersion(RemoteVersionFactory.java:76)

at com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.java:99)

at com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:174)

at com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck.java:142)

at com.google.appengine.tools.development.gwt.AppEngineLauncher.maybePerformUpdateCheck(AppEngineLauncher.java:137)

at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:103)

at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:500)

at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1055)

at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804)

at com.google.gwt.dev.DevMode.main(DevMode.java:309)

Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger

Successfully processed C:\Documents and Settings\Giorgos\workspace\Zserver\war\WEB-INF/appengine-web.xml

Successfully processed C:\Documents and Settings\Giorgos\workspace\Zserver\war\WEB-INF/web.xml

The server is running at http://localhost:8888/

[ERROR] javax.servlet.ServletContext log: Exception while dispatching incoming RPC call

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.lang.String mytest.client.GreetingService.greetServer(java.lang.String) throws java.lang.IllegalArgumentException' threw an unexpected exception: java.security.AccessControlException: access denied (java.io.FilePermission C:\mytext.txt read)

at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)

at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)

at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)

at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at org.mortbay.jetty.Server.handle(Server.java:326)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)

at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)

at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Caused by: java.security.AccessControlException: access denied (java.io.FilePermission C:\mytext.txt read)

at java.security.AccessControlContext.checkPermission(Unknown Source)

at java.security.AccessController.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkPermission(Unknown Source)

at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:166)

at java.lang.SecurityManager.checkRead(Unknown Source)

at java.io.FileInputStream.(Unknown Source)

at java.io.FileReader.(Unknown Source)

at mytest.server.GreetingServiceImpl.greetServer(GreetingServiceImpl.java:34)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)

at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)

... 34 more

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jetty文件服务器,在Jetty中访问Web容器外部的文件 的相关文章

  • 2023蓝桥杯考前整理

    目录 python接收数据的方法 python内置方法 python字符串方法 python模块 python接收数据的方法 接收一个元素 s input 接收一个字符串 n int input 接收一个整数 接收两个或三个元素 以空格隔开
  • 【软考】-高项-质量管理-子过程ITTO记忆技巧

    质量管理 贵管控 规划质量管理 1 记忆口诀 需求 干系 风险记住清 组织质量体系 策略盈 标杆成本质量流 思维测试 计划留 质量测量指标出 管理计划 记心头 2 故事 在一个叫做 需求城 的地方 有三个重要的公民 需求文件先生 干系人登记
  • Markdown中图片对齐方式及尺寸设置

    在markdown编辑模式下导入图片默认尺寸会很大 不符合预期效果 有时候需要对图片的对齐方式和尺寸大小进行调整 1 直接上传图片的原始效果 添加图片后默认尺寸很大 会占满整个宽度 2 图片尺寸及对齐方式调整 添加图片之后 图片底部 CSD
  • java对于Excel进行快速处理的框架EasyExcel(SpringBoot集成)

    一 EasyExcel介绍 EasyExcel是阿里巴巴开源的一个excel处理框架 以使用简单 节省内存著称 EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中 而是从磁盘上一行行读取数
  • Anchor-Free based目标检测

    CornerNet 预测左上角和右下角来得到最后的bounding boxes 所以最基本的需要两个feature map表示对应的Corner 称为heatmap top left 和 bottom right 将属于同一个object的
  • C++中template(模版)的使用

    我们在编程的时候总是会遇到一些类似的模块 只是模块中的形参的数据类型不同 导致我们要不断的去更改模块的 这里就涉及到重载的知识点了 例如以下的几种情况 函数1 int max int x int y return x gt y x y 函数
  • 分布式监控系统——Zabbix(3)配置

    文章目录 分布式监控系统 Zabbix 3 配置 一 监控项 1 定义一个不带参数的监控项 2 定义一个带参数的监控项 3 删除监控项 4 监控项存储的值 二 触发器 1 简介 2 触发器表达式 3 定义一个触发器 4 触发器的依赖关系 5
  • 项目4总结:MySQL数据表的检索

    目录 任务4 1 查询时选择列 1 基本查询语句 2 检索所有列 3 检索指定列 任务4 2 查询时选择行 1 查询指定记录 2 带IN关键字的查询 3 带BETWEEN AND的范围查询 4 带LIKE的字符匹配查询 5 查询空值 6 带
  • truncate和delete的区别

    两者都可以删除表中的数据 但是本质上是有区别的 两者使用方法如下 删除表中所有数据 DELETE FROM table name 删除表中部分符合条件的数据 DELETE FROM table name WHERE 删除表中所有数据 TRU
  • Google reCAPTCHA ----------验证码

    现有验证码的产品形态调研范围如下 基本涵盖了比较主流的验证码平台 Google reCAPTCHA 极验 阿里云 腾讯云 点触 网易易盾 螺丝帽 FunCaptcha 产品背景 reCAPTCHA起初是由CMU 卡耐基梅隆大学 设计 将OC
  • pip安装地址--清华源(国内常用镜像源)

    国内常用镜像源 清华大学 https pypi tuna tsinghua edu cn simple 阿里云 http mirrors aliyun com pypi simple 中国科学技术大学 http pypi mirrors u
  • Linux服务器在线扩容内存,redhat linux 在线扩容磁盘空间

    在惠普Proliant服务器上在线扩容Linux ext3类型的文件系统 服务器集成SA5i 内置硬盘 加SA532挂MSA500 划了一个阵列 全部做一个逻辑盘 设备名为 dev cciss c1d0 全部空间建立分区为 dev ccis
  • 箭头函数和普通函数的区别

    箭头函数 1 只有一个参数的时候 参数可以不加小括号 没有参数或2个及以上参数的 必须加上小括号 2 返回语句只有一条的时候可以不写 和return 会自动加上return的 返回多条语句时必须加上 和return 3 箭头函数在返回对象的
  • Mysql添加新用户,并设置数据库权限

    首先进入mysql mysql u root p 然后在数据库中使用 create DATABASE my test db 创建数据库 CREATE USER test user IDENTIFIED BY test pass 创建一个用户
  • 5种很牛的两位数乘法速算方法

    5种很牛的两位数乘法速算方法 第一种 十几乘以任意两位数 公式推导 10 b 10c d 100c 10 bc d bd 10 10c bc d bd 10 10c d bc bd 方法 如果c 1 公式是 10 b 10 d 10 10
  • 16款ChatGPT工具,太炸裂了,收藏!

    因公众号更改推送规则 请点 在看 并加 星标 第一时间获取精彩技术分享 点击关注 互联网架构师公众号 领取架构师全套资料 都在这里 0 2T架构师学习资料干货分 上一篇 ChatGPT研究框架 80页PPT 附下载 大家好 我是互联网架构师
  • ug装配绕轴旋转_UG绘制小吊扇模型,建模装配还能运动起来

    夏天来了 吾思小编来教大家用UG做一个小风扇给夏日带来一丝凉意吧 根据图纸建模 整体建模难度 简单 装配难度 简单 模型效果图如下 一共由五个零件组成 建模过程 先画零件1底座 1 绘制一个直径为120mm的圆拉伸10mm 2 倒斜角5mm
  • Scanner读取文件(按行读入)

    public class ScannerTest public static void main String args 其实 Scanner在使用结束之后 也是需要进行关闭的 调用close方法 try Scanner scanner n
  • 使用注解从AOP面对方法进行逻辑判断

    今天360文8热8凉1汤 不好意思走错了 需求 根据不同的登录设备对xxController层中的方法是否禁用 AOP解释 切面编程 灵魂画图 代码 1 建立一个注解SuiteDisable import java lang annotat

随机推荐

  • Unity获取鼠标滚轮信息

    Unity获取鼠标滚轮信息 UGUI获取滚轮信息 Input获取滚轮信息 UGUI获取滚轮信息 UGUI关于鼠标滚轮信息的获取有一个专门的接口IScrollHandler用于接收滚轮事件 继承该事件之后便需要实现函数OnScroll 如下
  • 【汇编语言05】第4章 第一个程序

    目录 0 前言 1 源程序从编写到执行 1 1 第1步 编写汇编源程序 1 2 第2步 对源程序进行编译连接 1 3 第3步 执行可执行文件中的程序 2 简单源程序示例及其组成 2 1 简单源程序示例 2 2 伪指令 2 3 源程序与程序
  • 什么是 Web 3.0?定义、功能和示例

    计算的新时代已经开始 你一定已经注意到 互联网技术在过去十年中发展得非常迅速 变得越来越精密和复杂 物联网 IoT 3D数字孪生 区块链 增强现实和其他技术已经扩大了机会 以至于旧的Web 2 0术语不再描述新的互联网现实 Web 3 0现
  • 网页计数器

    随着网络大行其道 网页计数器也流行起来 事实上大多数网站均有网页计数器 用以反映该网站的访问量 计数器的来源很广 Frontpage等网页编辑器自带了网页计数器 有的站点也提供免费的计数器下载 其实熟悉了ASP编程后 自己做一个计数器很容易
  • 硬件系统工程师宝典(16)-----符合EMC的信号走线与回流

    各位同学大家好 欢迎继续做客电子工程学习圈 今天我们继续来讲这本书 硬件系统工程师宝典 上篇我们说到PCB设计中为提高板子的EMC性能 会做滤波设计 地的分割设计 增加屏蔽壳 今天我们来看看板子要符合EMC 信号的走线和回流需要考虑什么 开
  • QT UI更改编译后,输出无变化 解决

    应该是路径错误 在 pro文件中 增加ui路径 UI DIR home q Desktop guangqt guangwidget0615send
  • 【字节跳动】软件测试面试题及答案,史上最全!

    以下是软件测试相关的面试题及答案 欢迎大家参考 1 你的测试职业发展是什么 测试经验越多 测试能力越高 所以我的职业发展是需要时间积累的 一步步向着高级测试工程师奔去 而且我也有初步的职业规划 前3年积累测试经验 按如何做好测试工程师的要点
  • 读《向上管理的艺术:如何正确汇报工作》感悟

    背景 一天 男神在微信上发给我这本 向上管理的艺术 如何正确汇报工作 然后没有说一句话 我看到这个 心里很是激动 因为他总是说自己很忙 很累 我就建议他其他做不到 最起码也要逐渐使用方法学 把事情做抽象梳理 以后才会越做越轻松 从最开始我们
  • eigen库安装_C++学习笔记——6. Eigen入门(矩阵运算及几何模块)

    本文介绍了C 中Eigen库的代数运算模块和几何模块 以程序实例演示了常见指令用法 Eigen是一个高层次开源C 库 有效支持线性代数 矩阵和矢量运算 数值分析及其相关算法 在SLAM或者VIO研究中 对Eigen库的使用可以说非常多 因此
  • Python爬虫开发与项目实战(1)

    第一章 回顾Python编程 1 1 安装Python 略 1 2 搭建开发环境 略 1 3 IO编程 文件读写 打开文件 open name mode buffering 参数mode和buffering是可选的 默认模式是读模式 默认缓
  • 用matlab读csv数据_Matlab读取csv文件csvread函数的使用

    3 7 3 今天来说下如何使用Matlab读取excel的csv文件 这个有什么用呢 想必理科生大概率都会用到示波器 去抓取一些电信号或者光信号 我们从示波器导出来的就是csv文件或者图片文件 而图片文件我们无法处理 所以 一般导出csv文
  • JAVA学习日记(13)——优先级队列(堆)

    1 二叉树的顺序存储 1 1 存储方式 使用数组保存二叉树结构 方式即将二叉树用层序遍历方式放入数组中 一般只适合表示完全二叉树 因为非完全二叉树会有空间的浪费 这种方式的主要用法就是堆的表示 例如上图 如果用数组来存储一般二叉树就会造成空
  • vivado ip 使用 out_of_context (ooc)的注意事项

    在ooc 模式下例化 IP 的接口时 没有用到的 input 接口一定要赋值0 否则要么编译的时候报错 要么编译后会被例化成 1 有风险 在 ip 用 globle 的方式生成 没有用到的 input 可以不接 在 synthesis 时会
  • 各种激活函数

    激活函数可以分为两大类 饱和激活函数 sigmoid tanh 非饱和激活函数 ReLU Leaky Relu ELU 指数线性单元 PReLU 参数化的ReLU RReLU 随机ReLU 相对于饱和激活函数 使用 非饱和激活函数 的优势在
  • 纺织企业举步维艰,小微纺织企业该如何做?

    每年的三四月份是纺织行业开门大吉的旺季 今年的纺织企业似乎迎来了重重困难 疫情暴发 乌战争等都对纺织业都产生严重影响 俄乌战争短期内无疑会对大宗石油 粮食市场造成重大影响 因石油导致的化纤价格波动将进一步影响纺织品价格 原料行情的不稳定性将
  • 西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用

    摘要 西蒙斯是被量化圈所广为追捧的量化之神 旗下的大奖章基金创造了无数神话 成立初期的创始人中 有一位科学家发明了广泛应用在语音识别等领域的鲍姆 威尔士算法 隐马尔可夫模型 HMM 已经被成功应用在工程领域 并取得了具有科学意义和应用价值的
  • Android Studio 历史版本

    打开Android Studio历史版本网址之后滑动到最下面点击我同意这些条款进入Android Studio下载文件归档 选择自己需要装的版本
  • Pycharm中文乱码问题

    pycharm编码问题导致中文显示为乱码 按照以下配置可以正确显示中文内容
  • 购买专栏请看说明②

    购买专栏请看说明 2023年1月1日专栏价格有所调整 后续也会继续提升质量 更新更多内容 也是为了尊重知识产权 PS 专栏只提供比赛学习解析 环境需要单独购买 感谢理解 最近上线了网络安全进阶课培训课程 直播 录播形式 欢迎大家了解和学习
  • jetty文件服务器,在Jetty中访问Web容器外部的文件

    我在Windows XP SP3中使用Eclipse 3 6开发GWT应用程序 该应用程序需要显示驻留在服务器上的图形文件夹的内容到客户端 此外 图形文件夹不在Web容器内 而在硬盘中的另一个位置 Eclispe使用Jetty HTTP服务