用Java构建基于web的应用程序时,Servlet和JSP是两种主要的技术,虽然这两种技术主要目的差不多,但是两者之间还是有着不小的区别。不过在此之前先了解一下Servlet和JSP。
1.Servlet
Servlet也叫Java servlet,他是在web或服务器上运行的程序,本质上是一个类。是独立于操作系统平台和网络传输协议的服务器端的Java应用程序。他拥有一个生命周期,包含init()和destroy()方法。
五个抽象方法:
void init(ServletConfig config)初始化配置
ServletConfig getServletConfig()获取配置信息
String getServletinfo()获取servlet文本化信息
void service(ServletRequest request,ServletResponse response)负责处理请求,给出响应(核心方法)
void destroy()回收资源
2.JSP
JSP(Java Server Page)是建立在Servlet规范上的动态网页开发技术,开发人员通常可以用以<%开头,以%>结尾的JSP特殊标记来在HTML中插入Java代码。它是一种静态网页和动态网页的混编技术,本质上是一个Servlet。
jsp位置:
3.JSP和Servlet之间的区别
两者都能生成动态内容,但是,JSP使用的是网页脚本语言,而Servlet是一个Java程序,所以在进行编码时,JSP会比Servlet更容易些。
在修改内容时,Servlet需要重新部署服务器,重新编译,而JSP只需要刷新一下页面就可以了,修改非常方便。
JSP是建立在Servlet上的接口,没有Servlet的概念就无法存在JSP,同时Servlet是用Java编写的,能够访问Java类库的全部内容,功能远比JSP强大。
JSP 只能接受HTTP请求,但Servlet可以接受所有类型的协议请求。
4.结论
总的来说,Servlet就像是Java中的HTML,JSP就像是HTML中Java。