2015-04-22 42 views

回答

3

你不能像在tomcat上那樣簡單地運行.java文件。它應該是一個爲此目的的servlet。

簡單的servlet的一個例子是:

package com.jenkov.butterfly; 
    import java.io.IOException; 

    import javax.servlet.annotation.WebServlet; 
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 

    public class MyServlet extends HttpServlet { 
     public void doGet(HttpServletRequest request, HttpServletResponse response) 
       throws IOException { 
      response.getWriter().println("Hello"); 
     } 
    } 

如果它已經是一個servlet,你可能會丟失在web.xml中映射:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 
    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" 
    version="3.0"> 

     <servlet> 
      <servlet-name>MyServlet</servlet-name> 
      <servlet-class>com.jenkov.butterfly.MyServlet</servlet-class> 
     </servlet> 

     <servlet-mapping> 
      <servlet-name>MyServlet</servlet-name> 
      <url-pattern>/MyServlet</url-pattern> 
     </servlet-mapping> 
</web-app> 

或者,您可以添加@WebServlet註釋:

import java.io.IOException; 

import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

@WebServlet("/MyServlet") 
public class MyServlet extends HttpServlet { 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws IOException { 
     response.getWriter().println("Hello"); 
    } 
} 
+0

我已經創建了web.xml。但仍然是一樣的 – vib321

+0

可能錯誤是因爲 BeerV1.BeerSelect應該是 BeerSelect,所以沒有名爲BeerV1的包 – swapyonubuntu

相關問題