form表单
<html>
<body>
<h2>Hello World!</h2>
<form action="./req" method="get">
username:
<input type="text" name= "username">
password:
<input type="password" name = "password">
<input type="submit">
</form>
</body>
</html>
req的servlet
public class req extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("username");
String password = req.getParameter("password");
PrintWriter out = resp.getWriter();
out.println("username = "+name);
out.println("password = "+password);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
通过提取request的参数获得参数,处理form表单提交的数据
request也可以实现请求转发
public class req extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("username");
String password = req.getParameter("password");
PrintWriter out = resp.getWriter();
out.println("username = "+name);
out.println("password = "+password);
req.getRequestDispatcher("/hello").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
增加一行代码
req.getRequestDispatcher("/hello").forward(req,resp);
即可转发到/hello
//hello代码如下
public class hello extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();
resp.setContentType("text/html");
out.print("<h1>it is a test</h1>");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}