Java:如何从浏览器调用服务器上运行的代码?

时间:2010-10-04 14:13:58

标签: java browser

有什么方法可以调用从Web浏览器在服务器上运行的Java吗?我想:

  1. 用户导航到浏览器中的网址
  2. 用户填写输入框(文本)
  3. 用户按下提交按钮
  4. 输入字段作为参数发送给在服务器上执行的java
  5. 显示由服务器上运行的java生成的新html页面。
  6. 执行此操作的标准方法是什么,或类似的方法。

    我认为使用PHP会相对简单。我认为您只需在URL之后传递参数:www.mysite.com/folder?arguments

6 个答案:

答案 0 :(得分:5)

是的,这是可能的(并且非常常见)。两种最常见的方法是Java Servlets(其中响应仅通过Java代码生成)和Java Server Pages(其中服务器逻辑混合在HTML中,类似于ASP或PHP)。

答案 1 :(得分:4)

有许多方法可以从Java提供HTML,但实际上所有这些方法都依赖于Java servlet和Java服务器页面(JSP),它们是Java处理Web请求的规范。

绝对最低限度:

  1. 安装Java EE SDK,确保同时安装Netbeans和Glassfish。
  2. 启动Netbeans并创建“Java Web”/“Web应用程序”项目
  3. 输入项目名称,例如MyWebApp
  4. 在“服务器和设置”屏幕中,您需要添加...您的服务器,这样做。指向Glassfish服务器的文件位置并输入管理员名称和密码
  5. 忽略框架内容并完成
  6. NetBeans将生成一个示例应用程序,您可以直接单击“运行主项目”。它会将您的应用部署到Glassfish并从默认浏览器
  7. 加载http://localhost:8080/MyWebApp/

    需要注意的重要事项:

    1. 一个名为web.xml的文件告诉主机服务器一些关于您的Web应用程序的基础知识。这个文件可以包含很多其他的东西,但默认是一些锅炉板。最有趣的部分是<welcome-file>index.jsp</welcome-file>,这意味着当您加载http://localhost:8080/MyWebApp/时,它将默认加载index.jsp。

    2. 如果您没有为服务器指定页面,则会加载index.jsp。如果你看一下index.jsp,它只是带有一些JSP标记的HTML。

      <%@page contentType="text/html" pageEncoding="UTF-8"%>
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
         "http://www.w3.org/TR/html4/loose.dtd">
      
      
      <html>
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
              <title>JSP Page</title>
          </head>
          <body>
              <h1>Hello World!</h1>
          </body>
      </html>
      
    3. 创建新JSP就像编写HTML一样简单。 Netbeans有一个创建简单JSP的向导。

    4. 您可以轻松地将Java块嵌入到.jsp中,并使用&lt; %%&gt;进入和退出Java / HTML。

      等符号

      &LT;% for(int i = 0; i&lt; 10; i ++){ %GT; 您好&lt;%= i%&gt;
      &lt;%}%&gt;

    5. Glassfish只是一个可能的应用服务器。只要您编写兼容代码,它就应该只对Java Servlet / JSP规范的任何其他实现进行最小或零修改。例如Jetty,Tomcat,oc4j,JBoss,WebSphere等。

    6. 这只是冰山一角。您可以根据自己的喜好制作简单或复杂的东西。

    7. 一旦你了解了基础知识,那么取决于你的深度。更高级的主题是:

      1. Taglibraries - 这些可以删除大量的java杂乱并被认为更正确
      2. 表达式 - 在JSP页面中使用表达式来减少对凌乱的需求&lt;%= notation
      3. 自定义servlet允许您将模型/业务内容移动到Java类中,并将.jsp保留为仅仅呈现
      4. MVC Web框架,如Struts,Spring等。
      5. 安全&amp;过滤
      6. 这是一个很大的主题,但做一些快速而肮脏的事情相当容易。

答案 2 :(得分:2)

作为Mark Peters回答的后续内容,您需要一个像TomcatGlassFish这样的Java Web服务器才能使用servlet或jsps。有很多很棒的Java框架可以帮助你从原始的servlet类中抽象出来,但是我会让你看看它们并决定你是否需要它们来做这么简单的事情。

答案 3 :(得分:0)

如果您想在URL中传递参数,那么更简单的方法是Axis

您可以在网页上使用javascript显示结果。

答案 4 :(得分:0)

如果您想在URL中传递参数,那么更简单的方法是Axis

答案 5 :(得分:0)

我的学校有一台我们需要使用的apache服务器。我不被允许安装tomcat。我最终使用PHP调用我的服务器端Java。不是最美丽的解决方案,但它有效。