2010-10-04 128 views
1

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

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

什么是做到这一点的标准方法,或与此类似。

我觉得用PHP会比较简单。我认为你只需在URL之后传递参数即可:www.mysite.com/folder?arguments

+0

你在拖动吗? – 2010-10-04 14:48:16

+1

@ennis,不,我从来没有用java做过网页。 – sixtyfootersdude 2010-10-05 01:28:01

+0

后续问题:http:// stackoverflow。com/questions/3860377/java-how-to-invoke-code-run-on-a-server-from-a-browser-follow-up-question – sixtyfootersdude 2010-10-05 01:56:17

回答

5

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

2

作为Mark Peters的回答,您需要一个java web服务器,如TomcatGlassFish以便使用servlet或jsps。 Java有很多很棒的框架可以帮助你从原始的servlet类中抽象出来,但是我会让你看看它们,并且决定你是否需要这些简单的东西。

0

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

您可以显示网页上的JavaScript导致。

0

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

4

有无数的方法来从Java提供HTML,但几乎所有的人都依赖于Java servlet和Java服务器页面(JSP),这是Java处理Web请求的规范。

的绝对最低限度得走:

  1. 安装Java EE SDK确保还安装NetBeans和Glassfish。
  2. 启动Netbeans并创建“Java Web”/“Web Application”项目
  3. 输入项目名称,例如MyWebApp
  4. 在服务器和设置屏幕中,您需要添加...您的服务器,这样做。指向您的Glassfish服务器的文件位置并输入管理员名称和密码
  5. 忽略框架内容并完成
  6. NetBeans将生成一个示例应用程序,您可以在运行主项目上单击“直通”。这将您的应用程序部署到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容易并与<%%>符号如

    <% 步骤进出的Java/HTML用于(INT I = 0;我< 10;我++){ %> 你好<(%)= I%>
    <%}%>

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

  6. 这只是冰山一角。只要你喜欢,你可以简单或复杂。

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

  1. Taglibraries - 这些可以去除很多java杂乱,且被认为是更正确的
  2. 表达式 - 使用JSP页面中的表达式,以减少凌乱<%的需求=符号
  3. 定制的Servlet让你移动模型/业务东西到Java类和离开的.jsp只是表象
  4. MVC Web框架如Struts,春节等
  5. 安全&过滤

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

+0

“Netbeans and Glassfish”当然不是“最低限度的最低限度”。我已经用Eclipse和Tomcat完成了,谢谢。但有一些好点子,+1。 – 2010-10-04 15:15:09

+0

我喜欢在Java中花尽可能多的时间,而在HTML中花尽可能少的时间。我已经尝试了很多不同的方法,我最喜欢的组合是Netbeans + Glassfish + JEE/JSF。 HTML的粉丝可能更喜欢JSP方法。很明显,@Mark提到,Eclipse和Tomcat也可以使用。 – 2010-10-04 15:19:34

+1

我正在谈论最低限度从PHP来的人的POV起步和运行。我原来的帖子实际上是指Tomcat,但后来因为描述tomcat-users.xml而变得杂乱无章,所以我认为更容易使用盒子中的东西。即使我在日常生活中使用Eclipse,Maven,Jetty和oc4j,Netbeans + Glassfish也是最容易上手的。如果Maven是每个人都知道的默认设置,我只是说生成一个战争原型,然后从一个插件运行Tomcat。 – locka 2010-10-04 15:23:15

0

我的学校有一个我们需要使用的apache服务器。我没有被允许安装tomcat。我结束了使用PHP调用我的服务器端Java。不是最美的解决方案,但它的工作原理。

相关问题