简单的Servlet结合Jsp实现请求和响应以及对doGet和doPost的浅析

1、新建jsp,创建表单

<body>
<form action="/MyfirstWeb/login">

username:<input type="text" name="username"><br>
password:<input type="password" name="password"><br>

<input type="submit" value="submit">&nbsp;&nbsp;&nbsp;
<input type="reset" value="reset">

</form>
</body>

此处表单的action属性是重点,指定表单的提交方向。/MyfirstWeb/login是在客户端输入的逻辑路径。

2、创建Servlet

public class LoginServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
  {
    String username=req.getParameter("username");
    String password=req.getParameter("password");

    resp.setContentType("text/html");

    PrintWriter out=resp.getWriter();
    out.println("<html><head><title>LoginResult</title></head>");
    out.println("<body>username:"+username+"<br>");
    out.println("password:"+password+"</body></html>");
    out.flush();
  }

}

3、配置Servlet

<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.qcx.web.LoginServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>

总结:在客服端访问jsp,提交表单,通过配置文件xml找到Servlet,服务器实例化该Servlet,并执行其doGet方法。此外在表单属性中,可以设置提交方式为method=doPost。在Servlet类中做相应修改,即可实现doPost方式提交请求。doGet和doPost的区别在于:

1、从表现形式上看,用doGet会在地址栏显示请求参数,而doPost不会。

2、本质上,是因为这两种方式对请求的封装方式不同,doGet将参数作为请求url的一部分直接提交,而doPost将请求参数作为请求体的一部分提交。

在用浏览器提交文件时一定要使用doPost方式。

posted @ 2016-11-08 11:27  大侠熊猫儿  阅读(2567)  评论(0编辑  收藏  举报