我想处理HTTP请求并对其进行一些处理。我可以这样做吗?
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/soap+xml;charset=utf-8");
char[] cbuf = new char[10000];
PrintWriter out = response.getWriter();
InputStreamReader in = new InputStreamReader(request.getInputStream());
in.read(cbuf,0,10000);
int req_len = request.getContentLength();
String inputLine = new String(cbuf);
Spoof sp = new Spoof();
String xml_response = sp.spoof_second(inputLine.substring(0, req_len), request.getParameter("mode"));
out.println(xml_response);
}
我得到一个null响应,所以我想知道是否有办法调用函数spoof_second()。
我的web.xml看起来像:
<?xml version="1.0"?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>home</servlet-name>
<servlet-class>website.web.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>home</servlet-name>
<url-pattern>/home</url-pattern>
</servlet-mapping>
我将请求发送到[http:// localhost:4321 / website / home?mode = record],因此模式正确并且inputLine也正确,因为我通过打印它们来检查。我不确定的是如何在Eclipse中构建整个项目,因为我认为没有进行函数调用。我没有得到任何异常,我得到一个带有null内容的HTTP 200 OK响应。
答案 0 :(得分:0)
当您使用http://localhost:4321/website/home?mode=record
之类的请求时,会调用doGet
。对于“发布”,您可以创建HTML表单并设置action="home"
和method="post"
并添加submit
按钮。在提交时,它将提交表单中的所有数据。