Это структура каталогов моего сервлета:Servlet не обновляет страницу HTML
+---build
| \---classes
+---Files
| esoutput.json
| newOutput.xml
| newoutputfinal.xml
| output.xml
|
+---src
| \---com
| \---example
| AddQueryTag.java
| ElasticsearchClient.java
| JsonToXml.java
| mainClass.java
| output.xml
| SaveJsonContent.java
| SaxonImplementation.java
|
+---target
| +---classes
| | +---com
| | | \---example
| | | AddQueryTag.class
| | | ElasticsearchClient.class
| | | JsonToXml.class
| | | mainClass.class
| | | output.xml
| | | SaveJsonContent.class
| | | SaxonImplementation.class
| | |
| | \---META-INF
| | | MANIFEST.MF
| | |
| | \---maven
| | \---com.example
| | \---PIBTest1
| | pom.properties
| | pom.xml
| |
| \---test-classes
\---WebContent
| firstPage.html
|
+---META-INF
| MANIFEST.MF
|
\---WEB-INF
| resultfile.html
| web.xml
|
+---lib
\---src
Мой главный сервлет класс (mainClass.java) выглядит следующим образом:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//Some processing code goes here
//My resultfile.html gets updated and finally I use Request Dispatcher to forward it
request.getServletContext().getRequestDispatcher("/WEB-INF/resultfile.html")
.forward(request, response);
}
Это поиск заявление. Пользователь вводит запрос на «firstpage.html» и возвращает результаты.
Когда я впервые запустил веб-приложение, «firstpage.html» запускается, когда я его настроил в файле web.xml. Поэтому, когда я впервые запускаю свое веб-приложение, он показывает «firstpage.html», затем Пользователь вводит запрос и создается «resultfile.html». Но вместо этого веб-приложение показывает пустую страницу. Я проверил «resultfile.html», и файл был правильно сгенерирован. Поэтому с моим кодом нет проблем. Я хочу, чтобы иметь возможность пересылать мою сгенерированную страницу «resultfile.html». Я здесь что-то не так? Я новичок в сервлетах. Всем спасибо.
Я использую Tomcat V7.0 и затмение.
Обновление: когда пользователь возвращается к «firstpage.html» и вводит новый запрос, «resultfile.html» показывает результаты для старого запроса. «resultfile.html» не отображает обновленную информацию.
Обновление 2: Мой «resultfile.html» генерируется классом SaxonImplementation. Код для этого класса выглядит следующим образом:
package com.example;
import java.io.File;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
public class SaxonImplementation {
public void simpleTransform(String sourcePath, String xsltPath,
String resultDir) {
System.setProperty("javax.xml.transform.TransformerFactory",
"net.sf.saxon.TransformerFactoryImpl");
TransformerFactory tFactory = TransformerFactory.newInstance();
try {
Transformer transformer = tFactory
.newTransformer(new StreamSource(new File(xsltPath)));
transformer.transform(new StreamSource(new File(sourcePath)),
new StreamResult(new File(resultDir)));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Я звоню этот класс от моего метода doGet из mainClass.java сделать преобразование XML в HTML-файл.
@BalusC Привет BalusC , Я не получал исключение FileNotFoundException.Я не думаю, что это дублированный вопрос. –
Вопрос может быть другим, но ответ определенно применим к текущему вопросу. – BalusC
@BalusC Итак, это означает, что это не дублирующий вопрос, и у меня уже есть другой ответ на мой вопрос, который я искал. –