代码之家  ›  专栏  ›  技术社区  ›  sixtyfootersdude

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

  •  1
  • sixtyfootersdude  · 技术社区  · 14 年前

    是否有某种方式可以调用Java从Web浏览器上运行的服务器?我想:

    1. 用户在浏览器中导航到URL
    2. 用户填写输入框(文本)
    3. 用户按提交按钮
    4. 输入字段作为参数发送到正在服务器上执行的Java。
    5. 显示由服务器上运行的Java生成的一个新HTML页面。

    做这个的标准方法是什么,或者类似的方法。

    我认为使用PHP,这将相对简单。我认为您只需在URL后面传递参数,如下所示: www.mysite.com/folder?arguments .

    6 回复  |  直到 14 年前
        1
  •  5
  •   Mark Peters    14 年前

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

        2
  •  4
  •   locka    14 年前

    从Java服务HTML有无数种方法,但实际上它们都依赖于Java Servlet和Java服务器页面(JSP),它们是Java处理Web请求的规范。

    要达到的绝对最小值:

    1. 安装 Java EE SDK 确保也安装网豆和玻璃鱼。
    2. 启动NETBeBes并创建一个“Java Web”/“Web应用”项目
    3. 输入项目名称,例如mywebapp
    4. 在服务器和设置屏幕中,需要添加…你的服务器也要这样做。指向Glassfish服务器的文件位置并输入管理员名称和密码
    5. 忽略框架内容并完成
    6. NetBeans将生成一个示例应用程序,您可以直接单击Run主项目。它会将你的应用程序部署到GlassFish并加载 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中,并使用j.html和%.gt;

      <% 对于(int i=0;i<10;i++){ %& gt; 您好,<%=i%>
      lt;%}%& gt;

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

    6. 这只是冰山一角。你可以随心所欲地使事情变得简单或复杂。

    一旦你了解了基础知识,那么你就要决定你的深度了。更高级的主题是:

    1. 标签库-这些可以删除大量的Java杂波并且被认为更正确。
    2. 表达式-在JSP页面内使用表达式以减少对杂乱符号的需要
    3. 自定义servlet允许您将模型/业务内容移动到Java类中,并将.jsp保留为演示文稿。
    4. MVC Web框架,如Struts、Spring等。
    5. 安全和筛选

    这是一个庞大的主题,但很容易做一些快速和肮脏的事情。

        3
  •  2
  •   Hiro2k    14 年前

    作为Mark Peters回答的后续内容,您需要一个类似Java的Web服务器。 Tomcat GlassFish 为了使用servlet或jsp。有很多很棒的Java框架可以帮助你抽象出原来的servlet类,但是我会让你看看这些,并决定你是否需要这些简单的东西。

        4
  •  0
  •   Denis Tulskiy    14 年前

    如果要在URL中传递参数,则更简单的方法是 Axis

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

        5
  •  0
  •   Denis Tulskiy    14 年前

    如果要在URL中传递参数,则更简单的方法是 Axis

        6
  •  0
  •   sixtyfootersdude    14 年前

    我的学校有一个我们需要使用的Apache服务器。我不允许安装Tomcat。最后,我用PHP调用了我的服务器端Java。不是最漂亮的解决方案,但它有效。