在过去的几年里,我一直在用PHP做web开发,像很多人一样,我对PHP有强烈的反感。我也做过很多Java开发,但从来没有做过web开发。由于对Java有很好的了解,我决定尝试使用JSP进行web开发。我已经读了一些文章,但我还没有完全“理解”它。我的第一个问题是,JSP (Java servlet Page)和Servlet有什么不同?JSP不只是一个包含servlet和HTML的文件吗?我的第二个问题是,Servlets能否像PHP一样轻松地与HTML元素交互?我可以使用POST/GET等检查HTML表单输入吗?
我还想知道Servlets是否可以使用“原生”java代码。我的意思是,我是否可以使用我在桌面应用程序中使用的相同代码/使用我已经创建的相同方法和类。我想说的是,servlet(几乎)能做桌面应用程序能做的任何事情吗?是否可以访问服务器文件系统以删除/修改文件?我可以在我的JSP中使用第三部分java库吗?如果有人能帮我把这个弄清楚,那就太好了!提前感谢!
发布于 2013-03-31 03:21:25
JSP是一种用于生成servlet的模板语言。每个JSP都被编译成一个servlet。您可以使用JSP执行的所有操作都可以编写为servlet。
不,JSP不包含servlet。它被编译成servlet Java代码,然后再被编译成Java字节码。
Servlet可以与所有HTML元素交互。它们是HTTP侦听器。
我强烈建议您不要在servlet中使用本机代码。
您不应该将scriptlet代码放入JSP中。这是一种90年代的JSP编写风格,现在已经不可信了。使用JSTL。JSP仅用于显示。
发布于 2013-03-31 03:26:19
在基本的概念层面上:
JSP与PHP类似,因为它们为标准HTML页面提供了服务器端标记脚本,从而允许页面中的动态内容。JSP使用的语言类似于HTML,但如果没有经过Apache Tomcat等web容器的预处理,它就不是有效的HTML。JSP可以包含Java代码,尽管由于关注点分离,在大型系统中通常不鼓励这样做。
Servlet是完全用Java编写的独立文件,用于处理客户端请求的操作。发送到servlet的请求可以采用任何HTTP操作类型的形式,例如GET/POST/PUT/等。从技术上讲,servlet可以完成JSP页面所能做的所有事情(甚至更多),但是JSP提供的标记语言更适合在表示层上工作。
举个例子:您的JSP中可能有一个HTML表单,您可以将其发布到servlet,然后servlet可能会使用发布的表单数据发送安全电子邮件。一旦发送了电子邮件,servlet可能会将您重定向到成功/失败页面,而该页面又可能是另一个JSP页面。最近,Javascript已经成为使用XMLHttpRequest应用程序接口与servlet进行交互的一种更常见的方式。
请看一下this guide,特别是所提供的图表。
https://stackoverflow.com/questions/15722452
复制相似问题