从java prgram在Servlet中执行doGet

时间:2017-10-13 09:06:28

标签: java servlets

我在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>");

但是,在运行时它不显示弹出警报,它只是在控制台中打印数据。

在这种情况下,你可以帮助我吗?

全部谢谢!

3 个答案:

答案 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,以便快速掌握。