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方式。