2016-05-21 2 views
-1

Я загрузил на ... скажем, www.mywebsite.com a/helloservlet/and in/helloservlet/У меня есть index.html, который показывает простой Hello World! Это прекрасно работает, но если я хочу поставить приложение Java, я загрузил /WEB-INF/web.xml с:Загрузка Java на сайт не работает

<?xml version="1.0" encoding="ISO-8859-1"?> 
<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

    <servlet> 
     <servlet-name>HelloWorldServlet</servlet-name> 
     <servlet-class>mypkg.HelloServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>HelloWorldServlet</servlet-name> 
     <url-pattern>/sayhello</url-pattern> 
    </servlet-mapping> 
</web-app> 

и в /helloservlet/WEB-INF/src/mypkg/HelloServlet.java с

package mypkg; 

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class HelloServlet extends HttpServlet { 
    @Override 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
       throws IOException, ServletException { 
     // Set the response message's MIME type 
     response.setContentType("text/html;charset=UTF-8"); 
     // Allocate a output writer to write the response message into the network socket 
     PrintWriter out = response.getWriter(); 

     // Write the response message, in an HTML page 
     try { 
     out.println("<!DOCTYPE html>"); 
     out.println("<html><head>"); 
     out.println("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>"); 
     out.println("<title>Hello, World</title></head>"); 
     out.println("<body>"); 
     out.println("<h1>Hello, world!</h1>"); // says Hello 
     // Echo client's request information 
     out.println("<p>Request URI: " + request.getRequestURI() + "</p>"); 
     out.println("<p>Protocol: " + request.getProtocol() + "</p>"); 
     out.println("<p>PathInfo: " + request.getPathInfo() + "</p>"); 
     out.println("<p>Remote Address: " + request.getRemoteAddr() + "</p>"); 
     // Generate a random number upon each request 
     out.println("<p>A Random Number: <strong>" + Math.random() + "</strong></p>"); 
     out.println("</body>"); 
     out.println("</html>"); 
     } finally { 
     out.close(); // Always close the output writer 
     } 
    } 
} 

, но когда я пытаюсь

http://www.mywebsite.com/helloservlet/sayhello 

Это дает мне ошибку. В чем проблема?

Спасибо!

+0

Вы прочитали файлы журнала? – selten98

+0

он сказал AH00128: Файл не существует:/htdocs/sayhello, но я думал/sayhello отображается в web.xml для класса Java ... – WDrgn

+0

Используете ли вы сервер приложений, такой как Tomcat? И если да, попробовали ли вы компилировать свой код на .war и загрузить его? – selten98

ответ

1

Используйте сервер приложений Java на компьютере, на котором должен размещаться ваш код, например Tomcat. Затем загрузите .war в этот экземпляр Tomcat (или стеклянную рыбу или что-то еще), это должно исправить вашу проблему.

+0

Я буду использовать JBoss, спасибо! – WDrgn