博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC设计模式-学习笔记
阅读量:7215 次
发布时间:2019-06-29

本文共 3370 字,大约阅读时间需要 11 分钟。

1)如果严格按照MVC思想的话,浏览器首页访问的是控制器,然后再由控制器转发到视图

2)位于WEB-INF/目录下的资源,客户端无法直接访问,只能通过服务端转发进入
3)request对象也可用于资源的转发
request
.getRequestDispatcher("/WEB-INF/success.html")
.forward(request,response);
4)通过正则表达式验证中文:[\u4E00-\uFA29]+
5)对于重定向而言,前后的二个Request域对象不同,如果取值不到,返回"null",不会报错

java代码:

ModelBean

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;    }}

Demo8

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);        }    }}

ListServlet

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+"光临");         }}

html

view.html

      用户登录    
用户登录
用户名
    

sucess.html

      用户登录    
登录成功

fail.html

      用户登录    
登录失败

转载于:https://blog.51cto.com/357712148/2104909

你可能感兴趣的文章
web前端性能优化
查看>>
java基础-数组的折半查找原理
查看>>
挑战JavaScript正则表达式每日两题(2)
查看>>
个人网盘倒下去 企业网盘顶起来
查看>>
Redis的多种启动方式比较!
查看>>
C#读取excel文件数据丢失问题
查看>>
我的编程知识库
查看>>
【Linux实用技术】LFS6.3构建实录
查看>>
js实现页面跳转的几种方式
查看>>
块代码编程---开始使用块代码
查看>>
ASP.NET 发邮件方法
查看>>
分享:Arcadia 0.12.1 发布,Ruby 集成开发环境
查看>>
在ubuntu12.04上使用华为et127 3g上网卡
查看>>
存储类型
查看>>
Maven多模块项目中应用maven-tomcat-plugin热部署
查看>>
jQuery Callbacks
查看>>
判断安卓程序是否高危程序。
查看>>
有关YARN/MRv2 相关
查看>>
4.2 开发者选项--"电源错误报告"的适配
查看>>
Android <Android应用开发实战> 学习总结杂项
查看>>