我在java程序的servlet中尝试执行方法doGet(只是show popup)。
java程序中的代码:
URL url = new URL( "http://localhost:9999/xxx/screen?msg=VVU6" );
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
line = in.readLine();
System.out.println( line );
in.close();
doGet中的代码:
PrintWriter out = response.getWriter();
out.println("<script type='text/javascript'>");
out.println("alert('peek-a-boo');");
out.println("</script>");
但是,在运行时它不显示弹出警报,它只是在控制台中打印数据。
在这种情况下,你可以帮助我吗?
全部谢谢!
答案 0 :(得分:0)
您使用Selenium Web驱动程序与来自Java代码的URL进行交互:http://www.seleniumhq.org/docs/03_webdriver.jsp
答案 1 :(得分:0)
您在doGet中编写的代码会将您编写的标记写入outputstream
。当从Web浏览器或浏览器等效项(例如Web驱动程序或内存浏览器)中命中映射到servlet的URL时,它将呈现为html markup
。
阅读J2EE servlet和JSP的基础知识,以便清楚地了解用法和用例。控制台不能用于生成弹出窗口。
答案 2 :(得分:0)
前置条件:您的Servlet在http://localhost:9999/xxx
的Servlet容器(Jetty,Tomcat)中运行如果路由正确,(通过将浏览器指向http://localhost:9999/xxx/screen来访问Servlet中的doGet方法),您应该能够看到警告:
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head></head><body>");
out.println("<script>alert('peek-a-boo');</script>");
out.println("</body></html>");
如果您想从JavaSE程序执行GET,请查看任何小型REST客户端库,如Unirest,以便快速掌握。