zoukankan      html  css  js  c++  java
  • reqest实现请求转向

    开始的话使用的是response.SendDirecet方法,

    转向是在web服务器发生的,

    1.使用foword不能转发外部url

    2.Servlet1与Servlet2使用的是同一个

    一次HTPP请求?

     重点:

    显示的Servlet1,内部访问没有返回浏览器

    LoinServlet.java

    package com.test;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class LoinServlet
     */
    @WebServlet("/LoinServlet")
    public class LoinServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public LoinServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset=utf-8");
            request.setCharacterEncoding("utf-8");
            PrintWriter out=response.getWriter();
            out.println("<form action='/encoding/Servlet1' method='post'>");
            out.println("用户名:<input type='text' name='username'/><br/>");
            out.println("密码:<input type='password' name='password'/><br/>");
            out.println("<input type='submit' value='提交'/><br/>");
            out.println("</form>");
            
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            this.doGet(request, response);
        }
    
    }
    View Code

    Servlet1.java

    package com.test;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class Servlet1
     */
    @WebServlet("/Servlet1")
    public class Servlet1 extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Servlet1() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            response.setContentType("text/html;charset=utf-8");
            request.setCharacterEncoding("utf-8");//为了接受数据没有乱码
            PrintWriter out=response.getWriter();
            String u=request.getParameter("username");
            request.setAttribute("username", u);
            //把u放入request域对象
    //使用转向
            request.getRequestDispatcher("Servlet2").forward(request, response);//重点的是这个
    
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            this.doGet(request, response);
        }
    
    }
    View Code

    Servlet.java

    package com.test;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class Servlet2
     */
    @WebServlet("/Servlet2")
    public class Servlet2 extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Servlet2() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            response.setContentType("text/html;charset=utf-8");
            request.setCharacterEncoding("utf-8");
            PrintWriter out=response.getWriter();
    String u=(String) request.getAttribute("username");
    out.println("用户名为:"+u);
            
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            this.doGet(request, response);
        }
    
    }
    View Code

  • 相关阅读:
    移动浏览器的四大内核
    H5页面移动端兼容性测试
    如何定义关键字
    web通用测试点总结
    katalon数据库处理
    jmeter jdbc请求测试
    jmeter实现数据驱动分离(if控制器的使用)
    Vue3 具名插槽+作用域插槽同时使用的方法
    webpack-5.x版本 启动server服务时的报错和解决办法
    webpack 图片打包时,,出现图像未加载问题
  • 原文地址:https://www.cnblogs.com/helloworld2019/p/11003490.html
Copyright © 2011-2022 走看看