2014-02-10 124 views
-1

我有一個動態應用程序,其中有一個JSP文件將字符串發送到另一個項目中的Servlet,該項目是Web應用程序項目。我在JSP項目中使用Tomcat服務器,並且服務器啓動正常,但是當我嘗試在本地主機上運行Web應用程序時,出現HTTP ERROR 500 訪問/ jsptoservlettocloud時出現問題。原因:INTERNAL_SERVER_ERRORWeb應用程序項目中的內部服務器錯誤

這是我的JSP文件

<body> 
<% 
    String str= "Shanx"; 

    URL u = new 
     URL("http://localhost:8080/ServletToCloud/JSPToServletToCloudServlet"); 

     HttpURLConnection huc = (HttpURLConnection)u.openConnection(); 
     huc.setRequestMethod("GET"); 
     huc.setDoOutput(true); 

     ObjectOutputStream objOut = new ObjectOutputStream(huc.getOutputStream()); 
     objOut.writeObject(str); 
     objOut.flush(); 
     objOut.close(); 
%> 
</body> 

這是我的servlet類

public class JSPToServletToCloudServlet extends HttpServlet 
{ 
String str; 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException 
    { 
     ObjectInputStream ois = new ObjectInputStream(request.getInputStream()); 

     try 
      { 
       str= (String) ois.readObject(); 
     } 

     catch (ClassNotFoundException e) 
     { 
      e.printStackTrace(); 
     } 

     finally 
     { 
     ois.close(); 
     } 
    System.out.println("Servlet received : " + str); 
} 
} 

這是我的web.xml文件

<servlet> 
    <servlet-name>JSPToServletToCloud</servlet-name> 
    <servlet-class>pack.exp.JSPToServletToCloudServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>JSPToServletToCloud</servlet-name> 
    <url-pattern>/jsptoservlettocloud</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 
</web-app> 

在URL ServletToCloud是Web應用程序項目的名稱和JSPToServletToCloudServlet是該servlet的名稱。這個網址是否正確。

+0

你的web.xml是什麼樣的? – rocketboy

+0

您正在製作「huc.setRequestMethod(」POST「);」請求和您的servlet是orriding doGet()不doPost() – Arvind

+0

@ rocketboy 我已經在問題中添加它。 – user3273473

回答

0

在你的jsp中你有http://localhost:8080/ServletToCloud/JSPToServletToCloudServlet,但是你的web.xml中有/jsptoservlettocloud 你的映射是錯誤的。

相關問題