我有一个动态应用程序,其中我有一个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的名称。这个网址是否正确。
答案 0 :(得分:0)
在你的jsp中你有http://localhost:8080/ServletToCloud/JSPToServletToCloudServlet
,但你的web.xml中有/jsptoservlettocloud
你的映射是错误的。