Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以编程方式将字符串中包含的JSP转换为Servlet_Java_Jsp_Tomcat_Servlets - Fatal编程技术网

Java 以编程方式将字符串中包含的JSP转换为Servlet

Java 以编程方式将字符串中包含的JSP转换为Servlet,java,jsp,tomcat,servlets,Java,Jsp,Tomcat,Servlets,我在servlet中的字符串变量中有一个JSP,我希望自己(以编程方式)将其编译为JSP。现在我要做的是将字符串保存到一个文件中并访问该文件(生成结果servlet)——类似于: // and He created JSP from mere html code final String jsp = convertToJSP(someHTML); // create a jsp file with the above final File jspFile = new File(getServle

我在servlet中的字符串变量中有一个JSP,我希望自己(以编程方式)将其编译为JSP。现在我要做的是将字符串保存到一个文件中并访问该文件(生成结果servlet)——类似于:

// and He created JSP from mere html code
final String jsp = convertToJSP(someHTML);
// create a jsp file with the above
final File jspFile = new File(getServletContext().getRealPath("/"), jspFilename);
// write it to a file FIXME: This must be expensive, the user is waiting
// I DONT WANT TO WRITE THIS TO FILE: GENERATE SERVLET IMMEDIATELY FROM CODE
FileUtils.writeStringToFile(jspFile, jsp, "UTF-8");
// access that jsp
resp.sendRedirect(jspFilename);
这显然很昂贵,需要IO操作。关于如何做到这一点,有什么想法/建议吗

我知道我必须在某个时候使用/绑定到tomcat jasper(jspc),我对此很满意(tomcat是我的servlet容器)

非常感谢,,
JP

您可以看看-这是Tomcat如何将JSP转换为servlet的。

是的,我也了解了很多-但是我找不到任何Java代码可以做到这一点。它的所有Ant任务都调用JspC、编译器和ADTCompiler类——这些任务本身就是一场噩梦。我想知道以前是否有人做过这类事情,因此如果有一些代码,可以提供更具体的指针。