• HttpServlet.Response


    1.向客户端发送数据

    getWrite();

    getOutputStream();

    package com.test;
    
    import java.io.IOException;
    import java.io.OutputStream;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.catalina.connector.OutputBuffer;
    
    /**
     * Servlet implementation class TestServlet
     */
    @WebServlet("/TestServlet")
    public class TestServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public TestServlet() {
            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.setCharacterEncoding("utf-8");
            OutputStream os=response.getOutputStream();
            //转换成二进制的数据
            os.write("hello,world".getBytes());
        }
    
        /**
         * @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

    字符串送使用getWrite();

    字节传送使用getOutStream()

     这两个流不能够同时使用,为什么?

    没有手动的关闭流,web服务器会检测帮忙关闭,主动关闭更好

    2.SenRedirect可以实现重定向功能

    当用户登录成功后显示到登录成功页面MainFrame.java

    1.静态变量

    自我实现截图:

    2.使用SendRedirect,不能传递对象

     修改ControlServlet.java

    package com.controller;
    
    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;
    import javax.xml.ws.Response;
    
    import com.test.TestServlet;
    
    /**
     * Servlet implementation class ControlServlet
     */
    @WebServlet("/ControlServlet")
    public class ControlServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public ControlServlet() {
            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
            PrintWriter out=response.getWriter();
            response.setContentType("text/html;charset=utf-8");
            String username=request.getParameter("username");
            String password=request.getParameter("password");
    //        System.out.println(username+password);
            //这里进行简单的认证
            TestServlet.name=username;
            if("wangzhi".equals(username)&&"123456".equals(password)){
                response.sendRedirect("/user/MainFrame?uname="+username);
            }else{
                response.sendRedirect("/user/Loin");
            }
            
        }
    
        /**
         * @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

    MainFrame.java

    package com.view;
    
    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;
    
    import com.test.TestServlet;
    
    /**
     * Servlet implementation class MainFrame
     */
    @WebServlet("/MainFrame")
    public class MainFrame extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#HttpServlet()
         */
        public MainFrame() {
            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.setCharacterEncoding("utf-8");
            PrintWriter out = response.getWriter();
            String username=request.getParameter("uname");
            out.println("<h1>主界面</h1>"+username);
            out.println("<a href='/user/Loin'>返回重新登陆</a>");
            
        }
    
        /**
         * @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

     

    3.使用session传递,可以传递对象

    package com.view;
    
    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;
    
    import com.test.TestServlet;
    
    /**
     * Servlet implementation class MainFrame
     */
    @WebServlet("/MainFrame")
    public class MainFrame extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#HttpServlet()
         */
        public MainFrame() {
            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.setCharacterEncoding("utf-8");
            PrintWriter out = response.getWriter();
            String username=request.getParameter("uname");
            String username2=(String) request.getSession().getAttribute("loginuser");
            out.println("<h1>主界面</h1>"+username);
            out.println("<a href='/user/Loin'>返回重新登陆</a>");
            out.println(username2);
        }
    
        /**
         * @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
    package com.controller;
    
    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;
    import javax.xml.ws.Response;
    
    import com.test.TestServlet;
    
    /**
     * Servlet implementation class ControlServlet
     */
    @WebServlet("/ControlServlet")
    public class ControlServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public ControlServlet() {
            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
            PrintWriter out=response.getWriter();
            response.setContentType("text/html;charset=utf-8");
            String username=request.getParameter("username");
            String password=request.getParameter("password");
    //        System.out.println(username+password);
            //这里进行简单的认证
            TestServlet.name=username;
            if("wangzhi".equals(username)&&"123456".equals(password)){
                request.getSession().setAttribute("loginuser", username);
                response.sendRedirect("/user/MainFrame?uname="+username);
            }else{
                response.sendRedirect("/user/Loin");
            }
            
        }
    
        /**
         * @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

     传递对象处理;

    ControlServlet.java

    package com.controller;
    
    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;
    import javax.xml.ws.Response;
    
    import com.test.TestServlet;
    
    /**
     * Servlet implementation class ControlServlet
     */
    @WebServlet("/ControlServlet")
    public class ControlServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public ControlServlet() {
            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
            PrintWriter out=response.getWriter();
            response.setContentType("text/html;charset=utf-8");
            String username=request.getParameter("username");
            String password=request.getParameter("password");
    //        System.out.println(username+password);
            //这里进行简单的认证
            TestServlet.name=username;
            if("wangzhi".equals(username)&&"123456".equals(password)){
                request.getSession().setAttribute("loginuser", username);
                response.sendRedirect("/user/MainFrame?uname="+username);
                TestServlet user=new TestServlet();
                user.setName(username);
                user.setPassword(password);
                request.getSession().setAttribute("userobj", user);
            }else{
                response.sendRedirect("/user/Loin");
            }
        }
    
        /**
         * @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

    MainFrame.java

    package com.view;
    
    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;
    
    import com.test.TestServlet;
    
    /**
     * Servlet implementation class MainFrame
     */
    @WebServlet("/MainFrame")
    public class MainFrame extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#HttpServlet()
         */
        public MainFrame() {
            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.setCharacterEncoding("utf-8");
            PrintWriter out = response.getWriter();
            String username=request.getParameter("uname");
            String username2=(String) request.getSession().getAttribute("loginuser");
            //获取Session中的对象
            TestServlet user=(TestServlet) request.getSession().getAttribute("userobj");
            out.println("<h1>主界面</h1>"+username);
            out.println("<a href='/user/Loin'>返回重新登陆</a>");
            out.println(username2);
            out.println("返回对象的结果"+user.getName()+user.getPassword());
        }
    
        /**
         * @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
  • 相关阅读:
    Java Map遍历方式的选择
    UriMatcher类的addURI()方法
    Java IO流分析整理[转]
    java基础一些注意细节
    java中static变量和方存在内存什么区域
    详细解析Java中抽象类和接口的区别
    mybatis一些记录
    Go语言简介(上)— 语法
    JavaScript相关-深入面向对象
    33个组件5
  • 原文地址:https://www.cnblogs.com/helloworld2019/p/10993253.html
Copyright © 2020-2023  润新知