Java 运行Netty HttpStaticFileServer示例

Java 运行Netty HttpStaticFileServer示例,java,netty,fileserver,Java,Netty,Fileserver,我对在我正在进行的项目中使用Netty感到非常兴奋,但是在很大的压力下,我需要快速跟上进度。我是一名经验丰富的Java程序员,但在编写客户机-服务器系统方面没有太多经验 我正在研究这些复杂的例子,但发现关于如何正确运行它们的文档并不多。诚然,在源代码中挖掘是很有用的,但是当我访问HttpStaticFileServer时,我已经用这种方法撞到了墙。客户端请求可能来自telnet,但我不知道文件请求本身的格式,我尝试了一些。处理器编解码器根本不清楚。因此,一般来说,如果有一组关于如何运行示例的说明

我对在我正在进行的项目中使用Netty感到非常兴奋,但是在很大的压力下,我需要快速跟上进度。我是一名经验丰富的Java程序员,但在编写客户机-服务器系统方面没有太多经验


我正在研究这些复杂的例子,但发现关于如何正确运行它们的文档并不多。诚然,在源代码中挖掘是很有用的,但是当我访问HttpStaticFileServer时,我已经用这种方法撞到了墙。客户端请求可能来自telnet,但我不知道文件请求本身的格式,我尝试了一些。处理器编解码器根本不清楚。因此,一般来说,如果有一组关于如何运行示例的说明就好了。我保证我会在调试器中监视整个过程,这样我就可以跟踪到底发生了什么。因此,至少就目前而言,我希望为文件服务器提供一个简单的示例。我想构建的应用程序将从我怀疑的基础上构建。谢谢你的帮助

HttpStaticFileServer将提供文件系统中的文件

请参阅HttpStaticFileServerHandler..sanitizeUri()。这是它将您输入浏览器的虚拟路径映射到物理路径的位置

所以
http://localhost:8080/afile.txt
将映射到
~/afile.txt
。只要在那里放一个file.txt,它就会显示在你的浏览器中


你可能想先试试这个例子。我在eclipse中加载netty(记住使用JDK7)并运行/调试示例应用程序。

我在带有eclipse的Windows上运行了HttpStaticFileServer


要测试该示例,请执行以下简单步骤:

  • 运行服务器
  • 在web浏览器中键入:localhost:8080/file.ext(将file.ext替换为您的文件)

  • 该文件应位于
    System.getProperty(“user.dir”)

    看看这个问题的答案

    对我来说,它指向eclipse工作区目录。因此,请使用工作区或更改
    HttpStaticFileServerHandler
    中的
    sanitizeUri(字符串uri)
    方法以返回:

     rootPath + File.separator + uri;
    
    而不是

     return System.getProperty("user.dir") + File.separator + uri;
    

    其中rootPath是指向文件服务器根目录的路径。

    我也尝试使用浏览器发出请求,选择URL:。这给了我一个禁止的403。对不起……我觉得这是某种入会仪式,我想我失败了。但是一个简单的单行示例确实会有帮助…我转到HttpUploadServer,并能够找出其中的一个…因此,作为本示例文档中的建议,请添加UploadClient参数示例说明“/c:/test.txt”