• request请求转发和request域运用


    1.请求转发
    1.概述:让服务器跳转到另一个资源上
    2.方法
        1.request.getRequestDispatcher("跳转资源路径").forward(request, response);
    2.域对象
    1.作用:实现servlet与servlet之间的数据传输功能
    2.例如:Request本质上就是一个域对象, 域对象就是一个容器。
    3.域对象的方法
    1.request.setAttribute(key,value);往request对象中存数据
    2.requet.getAttribute(key) 从request对象中取数据
    3.request.removeAttribute(key) 删除request中的数据。
    4.域对象存储数据的方式是键值对
    4.代码
    1.Html代码:
    <html>
    <head>
    <title>reg.html</title>
    </head>
    <body>
    <form action="/day36_login/userServlet" method="post">
    用户名:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>
    <input type="submit" value="提交"/>
    </form>
    </body>
    </html>
    2.UserServlet代码:
    public class UserServlet extends HttpServlet {
    private UserDao userDao = new UserDao();
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    //解决乱码
    request.setCharacterEncoding("utf-8");
    //获取请求参数
    String userName = request.getParameter("username");
    String password = request.getParameter("password");
    User user = new User(userName,password);
    //把数据存储到数据库中
    userDao.save(user);
    // 往request域对象存储数据
    request.setAttribute("USER",user);

    //跳转到另外一个Servlet上显示注册是否成功的信息。
    request.getRequestDispatcher("/infoServlet").forward(request, response); //请求转发,跳转到infoServlet

    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request, response);
    }
    }
    3.InfoServlet代码:
    public class InfoServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    //从域对象对象中取出数据
    User user = (User) request.getAttribute("USER");(强转)
    OutputStream out = response.getOutputStream();
    out.write(("<h1>恭喜"+user.getUsername()+"注册成功</h1>").getBytes());
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request, response);
    }

    }

  • 相关阅读:
    SELENIUM2 使用JavascriptExecutor在页面Javascipt执行
    用Merge来改写相关更新的例子
    Oracle --获取绑定变量的值.
    [NewLife.XCode]高级统计(数据报表利器)
    [NewLife.XCode]分表分库(百亿级大数据存储)
    [NewLife.XCode]导入导出(实体对象百变魔君)
    [NewLife.XCode]角色权限
    [NewLife.XCode]实体工厂(拦截处理实体操作)
    [NewLife.XCode]百亿级性能
    [NewLife.XCode]对象字典缓存(百万军中取敌首级)
  • 原文地址:https://www.cnblogs.com/huifeidezhuzai/p/10884135.html
Copyright © 2020-2023  润新知