菜鸟请教jsp 和servlet区别问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:44:40
MyServlet 是一个servlet文件 MyJsp是一个jsp文件 MyServlet跳转到MyJsp
那么请问 在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 也