Web应用程序项目中的内部服务器错误

时间:2014-02-10 09:15:49

标签: java jsp tomcat servlets

我有一个动态应用程序,其中我有一个JSP文件,它将字符串发送到另一个项目是Web应用程序项目的Servlet。我在JSP项目中使用Tomcat服务器,服务器启动很好但是当我尝试在本地主机上运行Web应用程序时,我收到了HTTP ERROR 500 访问/ jsptoservlettocloud时遇到问题。原因:INTERNAL_SERVER_ERROR

这是我的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的名称。这个网址是否正确。

1 个答案:

答案 0 :(得分:0)

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