Ich habe auf einem hochgeladen ... sagen wir www.mywebsite.com a/helloservlet/und in/helloservlet/Ich habe eine index.html, die eine einfache Hallo Welt zeigt! Das funktioniert gut, aber wenn ich eine Java-Anwendung setzen will, ich hochgeladen ein /WEB-INF/web.xml mit:Das Hochladen von Java auf eine Website funktioniert nicht
<?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>
und in /helloservlet/WEB-INF/src/mypkg/HelloServlet.java mit
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
}
}
}
aber wenn ich versuche
http://www.mywebsite.com/helloservlet/sayhello
Es gibt mir einen Fehler. Was ist das Problem?
Danke!
Haben Sie die Protokolldateien gelesen? – selten98
hieß es AH00128: Datei existiert nicht:/htdocs/sayhello aber ich dachte/sayhello ist in web.xml der Java-Klasse zugeordnet ... – WDrgn
Verwenden Sie einen Anwendungsserver wie Tomcat? Und wenn Sie es sind, haben Sie versucht, Ihren Code zu einem WAR zu kompilieren und diesen hochzuladen? – selten98