Java(servlet)模拟表单提交
String userName = request.getParameter(“userName”);
String redirectURL=”“;
response.setContentType(“text/html”);
PrintWriter redirectOut=null;
try {
redirectOut = response.getWriter();
URL url=new URL(“http://localhost:8081/LDAPPro/LoginServlet“);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod(“POST”);
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), “UTF-8”);
// 向服务端发送key = value对
out.write(“username=”+userName);
out.flush();
out.close();
// 获取服务端的反馈
InputStream in =conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
int c;
while ((c=reader.read())!=-1) {
out.write(c);
}
} catch (MalformedURLException e) {
e.printStackTrace();
redirectOut.write(“404”);
} catch (IOException e) {
e.printStackTrace();
redirectOut.write(“404”);
}
服务端的servlet可以这么写:
public classHandlingHttpRequestServlet extends HttpServlet
{
private static final longserialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequestreq, HttpServletResponse resp)
throws ServletException, IOException
{super.doGet(req, resp);}
@Override
protected voiddoPost(HttpServletRequest req, HttpServletResponse resp)
throwsServletException, IOException
{
String username =req.getParameter(“username”); //获取username所对应的value
String password =req.getParameter(“password”); //获取password所对应的value
System.out.println(“Thereceived username and password is: ” + username + “/” +password);
// 向请求端发回反馈信息
PrintWriter out =resp.getWriter();
out.print(“OK”);
out.flush();
out.close();
// super.doPost(req, resp);
}
}