⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 statelesstest.java

📁 这是远程web服务调用的一个包,可以将JSP直接作为服务
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    public void testStreamBasedPost() throws Exception {        ServletRunner sr = new ServletRunner();        sr.registerServlet( "ReportData", BodyEcho.class.getName() );        String sourceData = "This is an interesting test\nWith two lines";        InputStream source = new ByteArrayInputStream( sourceData.getBytes( "iso-8859-1" ) );        WebClient wc = sr.newClient();        WebRequest wr = new PostMethodWebRequest( "http://localhost/ReportData", source, "text/sample" );        WebResponse response = wc.getResponse( wr );        assertEquals( "Body response", sourceData.length() + "\n" + sourceData, response.getText() );        assertEquals( "Content-type", "text/sample", response.getContentType() );    }    public void testRequestInputStream() throws Exception {        ServletRunner sr = new ServletRunner();        WebRequest request = new PostMethodWebRequest( "http://localhost/servlet/" + ParameterServlet.class.getName() );        request.setParameter( "color", "green" );        final String expectedBody = "color=green";        InvocationContext ic = sr.newClient().newInvocation( request );        assertEquals( "Message body type", "application/x-www-form-urlencoded", ic.getRequest().getContentType() );        InputStream is = ic.getRequest().getInputStream();        byte[] buffer = new byte[ expectedBody.length() ];        assertEquals( "Input stream length", buffer.length, is.read( buffer ) );        assertEquals( "Message body", expectedBody, new String( buffer ) );    }    public void testFrameAccess() throws Exception {        ServletRunner sr = new ServletRunner();        sr.registerServlet( "Frames", FrameTopServlet.class.getName() );        sr.registerServlet( "RedFrame", SimpleGetServlet.class.getName() );        sr.registerServlet( "BlueFrame", AccessCountServlet.class.getName() );        WebClient client = sr.newClient();        WebRequest request = new GetMethodWebRequest( "http://host/Frames" );        WebResponse page = client.getResponse( request );        HttpUserAgentTest.assertMatchingSet( "Frames defined for the conversation", new String[] { "_top", "red", "blue" }, client.getFrameNames() );        WebResponse response = client.getFrameContents( "red" );        assertEquals( "Frame contents", SimpleGetServlet.RESPONSE_TEXT, response.getText() );        page.getSubframeContents( page.getFrameNames()[0] );    }    static class SimpleGetServlet extends HttpServlet {        static String RESPONSE_TEXT = "the desired content\r\n";        protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {            resp.setContentType( "text/html" );            PrintWriter pw = resp.getWriter();            pw.print( RESPONSE_TEXT );            pw.close();        }    }    static class AccessCountServlet extends HttpServlet {        private int _numAccesses;        private static int _numInstances = 0;        public void init() throws ServletException {            super.init();            _numInstances++;        }        public void destroy() {            super.destroy();            _numInstances--;        }        public static int getNumInstances() {            return _numInstances;        }        protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {            resp.setContentType( "text/plain" );            PrintWriter pw = resp.getWriter();            pw.print( String.valueOf( ++_numAccesses ) );            pw.close();        }    }    static class ParameterServlet extends HttpServlet {        static String RESPONSE_TEXT = "the desired content\r\n";        protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {            resp.setContentType( "text/plain" );            resp.addHeader( "MyHeader", "value1" );            resp.addHeader( "MyHeader", "value2" );            PrintWriter pw = resp.getWriter();            pw.print( "You selected " + req.getParameter( "color" ) );            pw.close();        }        protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {            resp.setContentType( "text/plain" );            PrintWriter pw = resp.getWriter();            pw.print( "You posted " + req.getParameter( "color" ) );            pw.close();        }    }    static class BodyEcho extends HttpServlet {        /**         * Returns a resource object as a result of a get request.         **/        protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {            int length = req.getIntHeader( "Content-length" );            String contentType = req.getHeader( "Content-type" );            resp.setContentType( contentType );            InputStreamReader isr = new InputStreamReader( req.getInputStream() );            BufferedReader br = new BufferedReader( isr );            resp.getWriter().print( length );            String line = br.readLine();            while (line != null) {                resp.getWriter().print( "\n" );                resp.getWriter().print( line );                line = br.readLine();            }            resp.getWriter().flush();            resp.getWriter().close();        }    }    static class FormSubmissionServlet extends HttpServlet {        protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {            resp.setContentType( "text/html" );            PrintWriter pw = resp.getWriter();            pw.println( "<html><head></head><body>" );            pw.println( "<FORM ACTION='/testForm?submission=act' METHOD='POST'>" );            pw.println( "<INPUT NAME='login' TYPE='TEXT'>" );            pw.println( "<INPUT NAME='password' TYPE='PASSWORD'>" );            pw.println( "<INPUT TYPE='SUBMIT'>" );            pw.println( "</FORM></body></html>" );            pw.close();        }        protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {            resp.setContentType( "text/plain" );            PrintWriter pw = resp.getWriter();            pw.print( "You posted " + req.getParameter( "login" ) + "," + req.getParameter( "password" ) );            pw.close();        }    }    static class FrameTopServlet extends HttpServlet {        protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {            resp.setContentType( "text/html" );            PrintWriter pw = resp.getWriter();            pw.println( "<html><head></head><frameset cols='20%,80&'>" );            pw.println( "<frame src='RedFrame' name='red'>" );            pw.println( "<frame src='BlueFrame' name='blue'>" );            pw.println( "</frameset></html>" );            pw.close();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -