- Шаг 1 (установка CMS): пользователь (владелец сайта) добавляет его/ее детали базы данных на веб-страницу и представить его.
- Шаг 2: С помощью сервлета я пишу детали базы данных в SiteConfig.java программно.
- Шаг 3: редирект на страницу входа
- Шаг 4 (проблемы): Но, я не получаю значения от SiteConfig.java, может быть мой файл еще не составлен.
- Шаг 5 (проверенное решение): Я прочитал несколько статей и узнал, что вместо JRE следует использовать среду JDK, но не получилось, как это сделать.
- Шаг 6 (NullPointerException): Я использовал код компилятора и он дает исключение NullPointer
Я использую следующий пример кодаProgrmmatically компиляции классов Java, когда пользователь получает доступ к вебсайту
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);
Я хочу, чтобы, когда я перенаправлять из сервлета login.jsp, тогда я могу получить данные базы данных, написанные на SiteConfig.java, и как скомпилировать файл между ними?
Gee, интересно, является ли NullPointerException чем-то связанным с передачей null ... – immibis
@Lucas Ross = Если это не правильный путь. пожалуйста, предложите мне, какая должна быть правильная стратегия в этом случае. – Jass