servlet和jsp的区别与联系
2011-07-31 15:15
411 查看
尽管jsp在本质上就是servlet,但是两者的创建方式不一样:
servlet完全是java程序代码构成,擅长于流程控制和事务处理,而通过servlet来生成动态网页很不直观; 对于静态的html标签,servlet都必须使用页面输出流逐行输出
Jsp由html代码和jsp标签构成可以方便地编写动态网页因此在实际应用中采用servlet来控制业务流程,而采用jsp来生成动态页面。在struts框架中,jsp位于MVC设计模式的视图层,而servlet位于控制层。
Servlet中没有内置对象。
总之,jsp是servlet的一种简化,使用jsp只需要完成程序员需要输出到客户端的内容,至于jsp中的java脚本如果镶嵌到一个类中,由jsp容器完成,而servlet则是个完整的java类,这个累的service方法用于生成对客户端的响应。
jsp从本质上来说就是一个servlet,jsp编译后就是一个“类servlet”
jsp服务器在编译jsp页面时,会先写一个servlet将jsp页面内容解析出来,使用<%%>将其变 成一个servlet,一个java类
在根据tomcat服务器中的servlet配置 找到配置后缀名为jsp的那里,根据文件名访问jsp
--tomcat目录下的conf/web.xml文件
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
再用jsp引擎将jsp变成一个servlet
访问jsp页面时,这个请求其实一个servelt
区别:servlet的应用逻辑是在java文件中,并且完全从表示层中的html中分离出来。而jsp的情况是java和html可以组合成一个扩展名为.jsp的文件。jsp侧重于视图,Servelt主要用于逻辑控制。
==================================================
相信很多人在面试的时候都会被问到JSP和Servlet的区别,我认为JSP就是功能受限的Servlet,因为JSP不能作为后台的控制Servlet用,但是实际上我的这个想法是错误的,JSP是可以像普通的Serlvet那样作为控制用的Servlet用的,在web.xml里面定义一下就行了:
<servlet>
<servlet-name>control</servlet-name>
<jsp-file>/jsp/control.jsp</jsp-file>
</servlet>
servlet完全是java程序代码构成,擅长于流程控制和事务处理,而通过servlet来生成动态网页很不直观; 对于静态的html标签,servlet都必须使用页面输出流逐行输出
Jsp由html代码和jsp标签构成可以方便地编写动态网页因此在实际应用中采用servlet来控制业务流程,而采用jsp来生成动态页面。在struts框架中,jsp位于MVC设计模式的视图层,而servlet位于控制层。
Servlet中没有内置对象。
总之,jsp是servlet的一种简化,使用jsp只需要完成程序员需要输出到客户端的内容,至于jsp中的java脚本如果镶嵌到一个类中,由jsp容器完成,而servlet则是个完整的java类,这个累的service方法用于生成对客户端的响应。
jsp从本质上来说就是一个servlet,jsp编译后就是一个“类servlet”
jsp服务器在编译jsp页面时,会先写一个servlet将jsp页面内容解析出来,使用<%%>将其变 成一个servlet,一个java类
在根据tomcat服务器中的servlet配置 找到配置后缀名为jsp的那里,根据文件名访问jsp
--tomcat目录下的conf/web.xml文件
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
再用jsp引擎将jsp变成一个servlet
访问jsp页面时,这个请求其实一个servelt
区别:servlet的应用逻辑是在java文件中,并且完全从表示层中的html中分离出来。而jsp的情况是java和html可以组合成一个扩展名为.jsp的文件。jsp侧重于视图,Servelt主要用于逻辑控制。
==================================================
相信很多人在面试的时候都会被问到JSP和Servlet的区别,我认为JSP就是功能受限的Servlet,因为JSP不能作为后台的控制Servlet用,但是实际上我的这个想法是错误的,JSP是可以像普通的Serlvet那样作为控制用的Servlet用的,在web.xml里面定义一下就行了:
<servlet>
<servlet-name>control</servlet-name>
<jsp-file>/jsp/control.jsp</jsp-file>
</servlet>
相关文章推荐
- 【转】jsp 和 servlet的联系和区别
- Android_JSP和Servlet的区别和联系
- JSP和Servlet的区别以及联系
- javabean,servlet,jsp区别联系
- [转]jsp与servlet的区别联系
- Jsp和servlet的区别和联系
- jsp servlet的区别和联系
- jsp与servlet的联系与区别
- Servlet和Jsp的联系和区别
- jsp servlet的区别和联系(转)
- servlet 和 jsp的区别与联系
- jsp和servlet的区别和联系
- Java Web开发中的Servlet、jsp区别联系
- JSP和Servlet的区别和联系 JSP 内置对象和作用
- jsp和Servlet的区别和联系
- jsp和servlet的联系与区别
- jsp与servlet的联系与区别
- jsp与servlet的区别和联系
- jsp和servlet的区别联系
- Servlet和JSP的区别与联系