2014-02-10 91 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 你的映射是错误的。

相关问题