本文共 3370 字,大约阅读时间需要 11 分钟。
1)如果严格按照MVC思想的话,浏览器首页访问的是控制器,然后再由控制器转发到视图
2)位于WEB-INF/目录下的资源,客户端无法直接访问,只能通过服务端转发进入3)request对象也可用于资源的转发request.getRequestDispatcher("/WEB-INF/success.html").forward(request,response);4)通过正则表达式验证中文:[\u4E00-\uFA29]+5)对于重定向而言,前后的二个Request域对象不同,如果取值不到,返回"null",不会报错public class ModelBean { public boolean validate(String username){ boolean flag = false; //username.matches("[a-zA-Z0-9]+")) 用户名是数字与字母 if(username!=null && username.matches("[\u4E00-\uFA29]+")){ flag = true; } return flag; }}
import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.itcast.web.domain.ModelBean;public class Demo8 extends HttpServlet { //NO1 public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //转发到view.html页面 RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/view.html"); rd.forward(request,response); } //NO2 public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String username = request.getParameter("username"); ModelBean mb = new ModelBean(); boolean flag = mb.validate(username); if(flag){ //将用户名绑定到Request域对象中 request.setAttribute("USERNAME",username); /*转发到ListServlet.java request .getRequestDispatcher("/ListServlet") .forward(request,response); */ //重定向到ListServlet.java response.sendRedirect("/day07/ListServlet"); }else{ request .getRequestDispatcher("/WEB-INF/fail.html") .forward(request,response); } }}
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 ListServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String username = (String) request.getAttribute("USERNAME"); response.setContentType("text/html;charset=UTF-8"); response.getWriter().write("欢迎"+username+"光临"); } public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String username = (String) request.getAttribute("USERNAME"); response.setContentType("text/html;charset=UTF-8"); response.getWriter().write("欢迎"+username+"光临"); }}
用户登录
用户登录 登录成功
用户登录 登录失败
转载于:https://blog.51cto.com/357712148/2104909