1.getParmeter()方法 获取参数
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("name");
String password = request.getParameter("password");
System.out.println("name:" + name);
System.out.println("password:" + password);
}
}
2.利用PrintWriter对象在网页返回响应
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("name");
String password = request.getParameter("password");
String html = null;
if ("admin".equals(name) && "123".equals(password))
html = "<div style='color:green'>success</div>";
else
html = "<div style='color:red'>fail</div>";
PrintWriter pw = response.getWriter();
pw.println(html);
}
}
3.调用流程
4.返回中文问题
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;character=UTF-8");
5.Servlet生命周期
6.跳转
request.getRequestDispatcher("success.html").forward() 由下一个Servlet完成响应体
request.getRequestDispatcher("success.html").include() 由两个Servlet共同完成响应体
请求转发是服务器端行为
response.sendRedirect("fail.html")
重定向是浏览器端行为
请求转发和重定向的区别:
1.请求转发是一个请求一次响应,而重定向是两次请求两次响应
2.请求转发地址不变,而重定向会显示一个新的地址
3.请求转发只能转发本项目的Servlet,而重定向不知能重定向到本项目的Servlet还可以定向到其他项目