Java Servlet Web开发问题

时间:2013-03-30 19:16:57

标签: java jsp servlets

过去几年我一直在用PHP进行Web开发,和很多人一样,我非常不喜欢PHP。我也做了很多Java开发,但从未进行过web开发。熟悉Java,我决定尝试使用JSP进行Web开发。我读了几篇文章,但我并没有完全“理解”它。我的第一个问题是,JSP(Java Servlet Page)和servlet之间有什么区别? JSP不仅仅是包含servlet和HTML的文件吗?我的第二个问题是Servlets可以像PHP一样轻松地与HTML元素交互吗?我可以使用POST / GET等检查HTML表单输入。

我也想知道Servlet是否可以使用“原生”java代码。通过这个,我的意思是我可以使用我在桌面应用程序中使用的相同代码/使用我已经制作的相同方法和类。我想要的是,servlet可以(几乎)执行桌面应用程序可以执行的任何操作。我可以访问服务器文件系统来删除/修改文件吗?我可以在JSP中使用第三方java库吗?如果有人可以为我清除这将是伟大的!提前谢谢!

2 个答案:

答案 0 :(得分:3)

JSP是一种用于生成servlet的模板语言。每个JSP都被编译成一个servlet。您可以使用JSP执行的所有操作都可以编写为servlet。

不,JSP不包含servlet。它被编译成servlet Java代码,然后编译成Java字节代码。

Servlet可以与所有HTML元素进行交互。他们是HTTP听众。

我强烈建议您不要在servlet中使用本机代码。

您不应该将scriptlet代码放入JSP中。这是一种90年代编写JSP的风格,这种风格已被抹黑。使用JSTL。 JSP仅供显示。

答案 1 :(得分:0)

在基本概念层面:

JSP类似于PHP,它们为标准HTML页面提供服务器端标记脚本,允许页面内的动态内容。 JSP使用的语言类似于HTML,但如果没有像Apache Tomcat这样的Web容器进行预处理,它就不是有效的HTML。 JSP可以包含Java代码,但由于关注点分离,在大型系统中通常不鼓励这样做。

Servlet是完全用Java编写的单独文件,用于处理客户端请求的操作。发送到servlet的请求可以采用任何HTTP动作类型的形式,即GET / POST / PUT /等。从技术上讲,servlet可以完成JSP页面可以执行的所有操作,但JSP提供的标记语言更适合在表示层上工作。

作为示例:您可以在JSP中使用HTML表单将POST发送到servlet,然后可以使用发布的表单数据发送安全电子邮件。一旦发送了电子邮件,servlet可能会将您重定向到成功/失败页面,而成功/失败页面又可能是另一个JSP页面。最近,使用XMLHttpRequest API,Javascript已成为与servlet交互的更常见方式。

查看this guide,特别是提供的图表。