简单的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">
<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方式。