小弟想自己动手写一个web服务器,可是没这方面的经验,不过呢还是开头了,在开发的过程当中遇到了不知道如何用代码来编译jsp页面,可是看了一些开源的服务器后,感觉自己是看不懂他们的代码,经过总结,我知道我是缺少思路,希望德高望重的技术达人来给个提示

解决方案 »

  1.   

    建议你看一下tomcat是jsp引擎tomcat是开源的,有源码可以下下来其实jsp 也是 servlet
      

  2.   


    是tomcat 的 jsp 引擎打错了,不好意思一句两句说不清楚你可以去看一下他的源码和原理
      

  3.   

    建议先看本书《how tomcat works》
      

  4.   

    不写不知道一写吓一跳,困难重重啊;我对tomcat的源码不熟悉,主要是不知道他的运行原理,期待牛人来解决,目前国内好像这方面的高手不多;还在尝试当中,国内的Javaweb服务器就一个金碟的;
    源码难看懂啊
      

  5.   

    通常所说的JSP,就是一种模板,跟Free、Velocity等都是相近的lz可以先参考以下官方
    http://java.sun.com/products/jsp/index.jspTomcat、Eclipse等,都有JSP引擎的jar
      

  6.   


    JavaCompiler从程序中调用 Java™ 编程语言编译器的接口public interface JavaCompilerextends Tool, OptionChecker看一下這個API吧。
    SUN公司提供的應用用編程實現的。調用編譯器。大概看了一下沒有認真去研究。
    再看一下CLASSLOADER方面的知識應該寫一個簡單的服務器應該不是很大問題了。
      

  7.   

    下边是我的思路,给你参考:1、根据客户端提交过来的HTTP找到该JSP文件;
    2、判断该JSP文件是否已经被编译,如果被编译,就完事了;如果没有,继续往下(现在很多服务器都这样,因此第一次访问比较慢);
    3、解析该JSP文件(这个解析方式比较多,自己挑选一种效率较高的方式,我想用C应该不错),根据其中的内容转换成为Servlet文件(JSP中的代码都是有规律可寻的,这步应该算是最困难的);
    4、调用javac将转换过来的Servlet进行编译;个人认识思路并不复杂,只是第3步比较费力,但却不是做不到。
      

  8.   

    呵呵,写web服务器可不是一个人能干的了得,除非你非常了解其中的机制。。