2016-04-10 18 views
0

Gönderme düğmesini tıklatarak kullanıcıdan doGet yöntemiyle bağımsız değişkenler almak için bir sunucu uygulamasından yararlanıyorum. Bundan sonra onu servletimin web sayfasına gönderir. Ama hiç böyle bir sayfa oluşturarak sona servlet'ten yeni web sayfasını sunmak:Bir sunucuda bir html dosyası açma

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    response.setContentType("text/html;charset=UTF-8"); 

    try (PrintWriter out = response.getWriter()) { 
     /* TODO output your page here. You may use following sample code. */ 
     out.println("<!DOCTYPE html>"); 
     out.println("<html>"); 
     out.println("<head>"); 
     out.println("<title>Servlet</title>");    
     out.println("</head>"); 
     out.println("<body>"); 

     out.println("<h1> Create your webpage here</h1>"); 

     out.println("</body>"); 
     out.println("</html>"); 
    } 

Servlet içindeki belli bir html dosyası açmak için bir yolu var mı? Bu gerçekten javascript ile iyi görünümlü bir sayfa oluşturmak için yeteneğimi, css vb

daraltır çünkü kullanarak çalıştı:

File htmlFile = new File(url); 
Desktop.getDesktop().browse(htmlFile.toURI()); 

ama servlet'ler ilginç ve kaprisli oldukları için servlet bana düşmeyecek. Bu engeli nasıl aşabilirim?

cevap

1

Sen WEB-INF (veya WEB-INF/html aşağıda) altında statik html (veya dinamik JSPs) koymak ve sonra RequestDispatcher.include(ServletRequest, ServletResponse) (veya forward) kullanabilir. Bir şey gibi,

RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/html/myfile.html"); 
rd.include(request, response); 
İlgili konular