【发布时间】:2015-08-10 07:54:54
【问题描述】:
- 步骤 1(CMS 安装): 用户(网站所有者)在网站主页上添加他/她的数据库详细信息并提交。
- 第 2 步: 在 servlet 的帮助下,我以编程方式在 SiteConfig.java 中编写数据库详细信息。
- 第 3 步: 重定向到登录页面
- 第 4 步(问题):但是,我没有从 SiteConfig.java 获取值,可能是我的文件尚未编译。
- 第5步(尝试过的解决方案):我看了一些文章,知道应该使用JDK环境而不是JRE,但不知道怎么做。
- 第6步(NullPointerException):我使用了编译器代码,它给出了空指针异常
我正在使用以下示例代码
File yourFile = new File("/E:/javaEEWorkplace/CMS/src/pack/cms/SiteConfig.java");
if(!yourFile.exists()) {
yourFile.createNewFile();
}
FileOutputStream fstream = new FileOutputStream(yourFile,false);
OutputStreamWriter writer = new OutputStreamWriter(fstream, "UTF-8");
final BufferedWriter out = new BufferedWriter(writer);
out.write("package pack.cms;");
out.write("public class SiteConfig {");
out.write("public final static String DB_URL= \""+dbHost+"\"; ");
out.write("public final static String DB_USER= \""+dbUser+"\"; ");
out.write("public final static String DB_PASS= \""+dbPass+"\"; ");
out.write("}");
out.newLine();
out.close();
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run(null, null, null, "/cms/SiteConfig.java");
System.out.println("Compile result code = " + result);
我希望当我从 servlet 重定向到 login.jsp 时,我可以获得用 SiteConfig.java 编写的数据库详细信息,那么如何在两者之间编译文件?
【问题讨论】:
-
哎呀,我想知道 NullPointerException 是否与传递 null 有任何关系...
-
@Lucas Ross = 如果这不是正确的方法。请你建议我在这种情况下应该采取什么正确的策略。
标签: java eclipse jsp servlets localhost