JSP和SERVLET的区别

       说起java开发WEB,大家就会想到JSP和SERVLET。现在初学者很多都潮着ssh(以后再谈)这种框架开始学了,不过从那里学都可以,JSP都是开始建项目就会有一个index.jsp的页面,代码看起来很像HTML的页面代码,就是多了一些所谓动态页面必须的头部。这个应该是初学都见过比较简单的JSP文件,而SERVLET会在那里见过呢。可能是会这样听说而来,SERVLET是没JSP前做开发时的一个CGI。那他们之间有啥关系呢?

       这里我就根据我学过原理和自己开发的一些经验谈谈。首先说一个他们的关系,JSP其实就是一个SERVLET,在TOMCAT里要运行JSP先要把它转化成.java文件,实际也是一个SERVLET再编译这个.java文件成.class文件。JSP这样做是方便开发人员,在页面的设计上跟java代码分离,感觉开发不是在一个java类上做视图,而是把类都放入JSP文件编辑。这样对开发者的视图编辑更方便(其时我是不提倡在JSP面JAVA代码的,最基本的可以用C标签来代替JAVA代码在JSP上用,这里的方便指对初学者)。这样看来JSP把开发者实现视图从java类里实现,解放到JSP页面来实现这样更可观。既然JSP最终是转变为SERVLET,那这里主要还是谈谈SERVLET。

          SERVLET的生命周期就不提了,网上多的一大片,这里谈谈SERVLET我们怎么来看待这个强大的JAVA类。那就从SERVLET是一个什么的类说起吧。首先SERVLET是一个被SUN公司规定出来的一个类,其实规定的一堆接口,

      这个SERVLET的接口源码:

                       package javax.servlet;

                        import java.io.IOException;

                        // Referenced classes of package javax.servlet:
                       //   ServletException, ServletConfig, ServletRequest, ServletResponse

                        public interface Servlet{

                           public abstract void init(ServletConfig servletconfig) throws ServletException;

                           public abstract ServletConfig getServletConfig();

                           public abstract void service(ServletRequest servletrequest, ServletResponse servletresponse) throws ServletException, IOException;

                           public abstract String getServletInfo();

                           public abstract void destroy();
}

看吧很普通的一个INTERFACE跟大家开发的接口没什么俩样,不过SUN规定的不只一个接口,而是一堆接口,他们的关系都很明确,只要谁遵循这一规范那就可以实现这SERVLET所有的功能。

           其时就这些接口SERVLET是运行不起来的,还要有SERVLET 容器和服务器才能运行,这又是怎么回事呢。这边就简单提一下,容器就像一个工具包,现在做一个工程要很多工具,你不可能每个人都带上所有要用的工具,那样不方便也浪费资源,现在你们主管说:小东你管所有的工具(工具正常都会有多个相同工具这方便同时多人用吗),谁要用就来领。SERVLET容器也这样,开发者生产工具,都放入这个容器,谁请求就过来调用——这个相当于工具包。而小东——就是相当服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值