Java:如何从浏览器调用在服务器上运行的代码?
是否有某种方式可以从Web浏览器调用在服务器上运行的Java?我想:Java:如何从浏览器调用在服务器上运行的代码?
- 用户导航在浏览器中输入框
- 用户填写(文本)
- 用户按下提交按钮
- 输入字段作为参数传递给Java的正在执行对发送到URL服务器
- 显示由运行在服务器上的java生成的新的html页面。
什么是做到这一点的标准方法,或与此类似。
我觉得用PHP会比较简单。我认为你只需在URL之后传递参数即可:www.mysite.com/folder?arguments
。
是的,这是可能的(并且是非常普遍的)。两种最常用的方式是Java Servlets(其中响应纯粹是通过Java代码生成的)和Java Server Pages(其中服务器逻辑混合在HTML内,类似于ASP或PHP)。
有无数的方法来从Java提供HTML,但几乎所有的人都依赖于Java servlet和Java服务器页面(JSP),这是Java处理Web请求的规范。
的绝对最低限度得走:
- 安装Java EE SDK确保还安装NetBeans和Glassfish。
- 启动Netbeans并创建“Java Web”/“Web Application”项目
- 输入项目名称,例如MyWebApp
- 在服务器和设置屏幕中,您需要添加...您的服务器,这样做。指向您的Glassfish服务器的文件位置并输入管理员名称和密码
- 忽略框架内容并完成
- NetBeans将生成一个示例应用程序,您可以在运行主项目上单击“直通”。这将您的应用程序部署到Glassfish和默认浏览器加载http://localhost:8080/MyWebApp/
重要注意事项:
名为web.xml的文件告诉主机服务器有关Web应用程序的一些基础知识。这个文件可以包含很多其他的东西,但默认是一些锅炉板。最有趣的部分说
<welcome-file>index.jsp</welcome-file>
这意味着当你加载http://localhost:8080/MyWebApp/它将默认加载index.jsp。-
如果您不指定页面到服务器,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>
创建新的JSP与编写HTML一样简单。 Netbeans有一个创建简单JSP的向导。
-
可以嵌入Java的块成的.jsp容易并与<%%>符号如
<% 步骤进出的Java/HTML用于(INT I = 0;我< 10;我++){ %> 你好<(%)= I%>
<%}%> Glassfish的仅仅是一个可能的应用程序服务器。只要您编写兼容的代码,它应该对任何其他Java Servlet/JSP规范的实现进行最小或零修改。例如Jetty,Tomcat,oc4j,JBoss,WebSphere等。
这只是冰山一角。只要你喜欢,你可以简单或复杂。
一旦你了解了基本知识,那么这取决于你的深度。更高级的主题将是:
- Taglibraries - 这些可以去除很多java杂乱,且被认为是更正确的
- 表达式 - 使用JSP页面中的表达式,以减少凌乱<%的需求=符号
- 定制的Servlet让你移动模型/业务东西到Java类和离开的.jsp只是表象
- MVC Web框架如Struts,春节等
- 安全&过滤
这是一个很大的主题,但它很容易做到快速和肮脏的事情。
“Netbeans and Glassfish”当然不是“最低限度的最低限度”。我已经用Eclipse和Tomcat完成了,谢谢。但有一些好点子,+1。 – 2010-10-04 15:15:09
我喜欢在Java中花尽可能多的时间,而在HTML中花尽可能少的时间。我已经尝试了很多不同的方法,我最喜欢的组合是Netbeans + Glassfish + JEE/JSF。 HTML的粉丝可能更喜欢JSP方法。很明显,@Mark提到,Eclipse和Tomcat也可以使用。 – 2010-10-04 15:19:34
我正在谈论最低限度从PHP来的人的POV起步和运行。我原来的帖子实际上是指Tomcat,但后来因为描述tomcat-users.xml而变得杂乱无章,所以我认为更容易使用盒子中的东西。即使我在日常生活中使用Eclipse,Maven,Jetty和oc4j,Netbeans + Glassfish也是最容易上手的。如果Maven是每个人都知道的默认设置,我只是说生成一个战争原型,然后从一个插件运行Tomcat。 – locka 2010-10-04 15:23:15
我的学校有一个我们需要使用的apache服务器。我没有被允许安装tomcat。我结束了使用PHP调用我的服务器端Java。不是最美的解决方案,但它的工作原理。
你在拖动吗? – 2010-10-04 14:48:16
@ennis,不,我从来没有用java做过网页。 – sixtyfootersdude 2010-10-05 01:28:01
后续问题:http:// *。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