菜鸟请教jsp 和servlet区别问题
MyServlet是一个servlet文件MyJsp是一个jsp文件MyServlet跳转到MyJsp那么请问在MyServlet中声明的Session和MyJsp中的内...
MyServlet 是一个servlet文件 MyJsp是一个jsp文件 MyServlet跳转到MyJsp
那么请问 在MyServlet中声明的Session和MyJsp中的内置session 是同一个session么?
还有 servlet没有jsp简洁 那么为什么还要使用servlet 是为了框架么?
什么时候使用servlet 什么情况使用jsp?
谢谢了 展开
那么请问 在MyServlet中声明的Session和MyJsp中的内置session 是同一个session么?
还有 servlet没有jsp简洁 那么为什么还要使用servlet 是为了框架么?
什么时候使用servlet 什么情况使用jsp?
谢谢了 展开
展开全部
【1】.什么时候使用servlet 什么情况使用jsp?
servlet 一般是用来处理 业务层 的时候用的;
jsp 则是主要负责 表现层。
分层结构就是这样来实现的。
如果在jsp中 也把业务的东西混进去,则很容易产生混乱,结构也就不清晰了。
servlet中的业务不变,jsp表现层怎么变,跟业务层也没有关系。
【2】.servlet没有jsp简洁 那么为什么还要使用servlet 是为了框架么?
jsp其实是servlet演化过来的。写的时候更简洁。我们在tomcat下work目录中可以发现,都有对应jsp页面的servlet编译文件。可见jsp的速度没有servlet快了。
当然一般也不会用servlet来打印网页,而是用来处理业务逻辑的。 如:jsp显示2+3=___,把2、3传给servlet,servlet则进行2+3的逻辑处理得出5,再把5传给jsp,jsp进行显示。这就是一个简答的分层。 详细的话见MVC模式。可以学学struts。
【3】.在MyServlet中声明的Session和MyJsp中的内置session 是同一个session么?
---------------------------- ----------------------------
说明一点 在jsp页面中 使用request.getSession()是可以的。
可以试下,
<%
request.getSession().setAttribute("name","zzc");
%>
<%=session.getAttribute("name")%>
servlet是个类,要想使用session必须先获取 session对象。
jsp中可以直接使用session ,原因是因为 他把session对象内置了,
就像java.lang.*那4个包他默认导入一样。
你直接使用session ,其实 jsp 也是最后要编译成一个个类,
容器遇到jsp文件 就会自动创建 一个session对象 无须自己再写,
也就是 session =request.getSession(); 容器替你完成。
引用 http://zhidao.baidu.com/question/56296177.html?si=5
---------------------------------------------------------
servlet 一般是用来处理 业务层 的时候用的;
jsp 则是主要负责 表现层。
分层结构就是这样来实现的。
如果在jsp中 也把业务的东西混进去,则很容易产生混乱,结构也就不清晰了。
servlet中的业务不变,jsp表现层怎么变,跟业务层也没有关系。
【2】.servlet没有jsp简洁 那么为什么还要使用servlet 是为了框架么?
jsp其实是servlet演化过来的。写的时候更简洁。我们在tomcat下work目录中可以发现,都有对应jsp页面的servlet编译文件。可见jsp的速度没有servlet快了。
当然一般也不会用servlet来打印网页,而是用来处理业务逻辑的。 如:jsp显示2+3=___,把2、3传给servlet,servlet则进行2+3的逻辑处理得出5,再把5传给jsp,jsp进行显示。这就是一个简答的分层。 详细的话见MVC模式。可以学学struts。
【3】.在MyServlet中声明的Session和MyJsp中的内置session 是同一个session么?
---------------------------- ----------------------------
说明一点 在jsp页面中 使用request.getSession()是可以的。
可以试下,
<%
request.getSession().setAttribute("name","zzc");
%>
<%=session.getAttribute("name")%>
servlet是个类,要想使用session必须先获取 session对象。
jsp中可以直接使用session ,原因是因为 他把session对象内置了,
就像java.lang.*那4个包他默认导入一样。
你直接使用session ,其实 jsp 也是最后要编译成一个个类,
容器遇到jsp文件 就会自动创建 一个session对象 无须自己再写,
也就是 session =request.getSession(); 容器替你完成。
引用 http://zhidao.baidu.com/question/56296177.html?si=5
---------------------------------------------------------
展开全部
jsp
最终被编译器编译成servlet
本质没有区别
只是JSP易于显示内容 是为了弥补servlet的不足
我发现这篇文档还蛮受大家关注的,我虽然不做java了,但对他还是一片深情的,这的确是个好东西.其实说白了JSP和SERVLET到底什么区别呢,JSP就象宾馆前台的服务员,要长的不错,让顾客一看就觉得比较舒服,他主要就是负责显示这个宾馆的形象的.而SERVLET就象部门经理,要处理各种各样的业务和事情,而bean呢就象是高层领导了,他负责从部门经理处获得信息,报告给董事会,或者把董事会的建议和计划吩咐下去.他们分工合作,各干其职.不知道同志们明白没有.
具体的看下下面吧.
JSP和SERVLET到底在应用上有什么区别,很多人搞不清楚。我来胡扯几句吧。简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。
后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。
从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。当然也可以更复杂。SERVLET用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。就象前面那个朋友,把数据库处理信息放到JSP中,其实,它应该放在business layer中。
根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的东东,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。
实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的presentation layer由ASP完成,所有的business layer由COM/DCOM完成。通过调用,实现整合。
为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。
另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用组件技术就只改组件就可以了。
综上所述,SERVLET是一个早期的不完善的产品,写business layer很好,写presentation layer就很臭,并且两层混杂。
所以,推出JSP+BAEN,用JSP写presentation layer,用BAEN写business layer。SUN自己的意思也是将来用JSP替代SERVLET。
可是,这不是说,学了SERVLET没用,实际上,你还是应该从SERVLET入门,再上JSP,再上JSP+BEAN。
强调的是:学了JSP,不会用JAVA BEAN并进行整合,等于没学。大家多花点力气在JSP+BEAN上。
在补充几句:
我们可以看到,当ASP+COM和JSP+BEAN都采用组件技术后,所有的组件都是先进行编译,并驻留内存,然后快速执行。所以,大家经常吹的SERVLET/JSP先编译驻内存后执行的速度优势就没有了。
反之,ASP+COM+IIS+NT紧密整合,应该会有较大的速度优势呈现。而且,ASP+COM+IIS+NT开发效率非常高,虽然BUG很多。
那么,为什么还用JSP+BEAN?因为JAVA实在前途远大。微软分拆后,操作系统将群雄并起,应用软件的开发商必定要找一个通用开发语言进行开发,JAVA一统天下的时机就到了。如果微软分拆顺利,从中分出的应用软件公司将成为JAVA的新领导者。目前的JAVA大头SUN和IBM都死气沉沉,令人失望。希望新公司能注入新活力。不过,新公司很有可能和旧SUN展开JAVA标准大战,双方各自制定标准,影响JAVA夸平台。
另外,现在的机器速度越来越快,JAVA的速度劣势很快就可以被克服。
最终被编译器编译成servlet
本质没有区别
只是JSP易于显示内容 是为了弥补servlet的不足
我发现这篇文档还蛮受大家关注的,我虽然不做java了,但对他还是一片深情的,这的确是个好东西.其实说白了JSP和SERVLET到底什么区别呢,JSP就象宾馆前台的服务员,要长的不错,让顾客一看就觉得比较舒服,他主要就是负责显示这个宾馆的形象的.而SERVLET就象部门经理,要处理各种各样的业务和事情,而bean呢就象是高层领导了,他负责从部门经理处获得信息,报告给董事会,或者把董事会的建议和计划吩咐下去.他们分工合作,各干其职.不知道同志们明白没有.
具体的看下下面吧.
JSP和SERVLET到底在应用上有什么区别,很多人搞不清楚。我来胡扯几句吧。简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。
后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。
从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。当然也可以更复杂。SERVLET用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。就象前面那个朋友,把数据库处理信息放到JSP中,其实,它应该放在business layer中。
根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的东东,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。
实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的presentation layer由ASP完成,所有的business layer由COM/DCOM完成。通过调用,实现整合。
为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。
另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用组件技术就只改组件就可以了。
综上所述,SERVLET是一个早期的不完善的产品,写business layer很好,写presentation layer就很臭,并且两层混杂。
所以,推出JSP+BAEN,用JSP写presentation layer,用BAEN写business layer。SUN自己的意思也是将来用JSP替代SERVLET。
可是,这不是说,学了SERVLET没用,实际上,你还是应该从SERVLET入门,再上JSP,再上JSP+BEAN。
强调的是:学了JSP,不会用JAVA BEAN并进行整合,等于没学。大家多花点力气在JSP+BEAN上。
在补充几句:
我们可以看到,当ASP+COM和JSP+BEAN都采用组件技术后,所有的组件都是先进行编译,并驻留内存,然后快速执行。所以,大家经常吹的SERVLET/JSP先编译驻内存后执行的速度优势就没有了。
反之,ASP+COM+IIS+NT紧密整合,应该会有较大的速度优势呈现。而且,ASP+COM+IIS+NT开发效率非常高,虽然BUG很多。
那么,为什么还用JSP+BEAN?因为JAVA实在前途远大。微软分拆后,操作系统将群雄并起,应用软件的开发商必定要找一个通用开发语言进行开发,JAVA一统天下的时机就到了。如果微软分拆顺利,从中分出的应用软件公司将成为JAVA的新领导者。目前的JAVA大头SUN和IBM都死气沉沉,令人失望。希望新公司能注入新活力。不过,新公司很有可能和旧SUN展开JAVA标准大战,双方各自制定标准,影响JAVA夸平台。
另外,现在的机器速度越来越快,JAVA的速度劣势很快就可以被克服。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度HI我慢慢给你讲
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jsp跟servlet本质上是一样的,jsp编译以后就是个servlet。
但jsp主要负责的是MVC中的V(View)显示,因为它可以加入一些脚本代码。
servlet主要负责的是MVC中的C(control) 控制逻辑
但jsp主要负责的是MVC中的V(View)显示,因为它可以加入一些脚本代码。
servlet主要负责的是MVC中的C(control) 控制逻辑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询