获得内置对象
HttpSession ses=req.getSession();
要取得application对象的话,可以通过servlet的父类中的方法。即:
ServletContext app=super.getServletContext();
Servlet的跳转
首先再次回顾一下,界面的跳转分成两种。
第一种是客户端的跳转。网址发生了改变。另一种则是服务器段的跳转,网址是不会发生改变的。
我们知道有四种范围属性。 Page 范围本身就与跳转绝缘。那么剩下的三个属性范围 request 、 session 和 application 中, request 是可以支持服务器端跳转的,但不能支持客户端跳转。
我们知道,为了提高效率,节省内存。我们一般会将属性定义的越小越好。所以实际跳转中,大部分情况下,使用的是服务器端跳转以支持 request 属性。
客户端跳转的方法是使用 resp 对象中的方法:
Resp.sendRedirect(“ 目标页面 ”);
而服务器端稍微复杂,需要先 req 的一个方法实例化一个接口,然后通过这个接口中提供的方法才能完成跳转:
RequestDispatcher rd=req.getRequestDispatcher(“ 目标页面 ”);
Rd.forward(req,resp);
或者合成一行:
req.getRequestDispatcher(“ 目标页面 ”).forward(req,resp);
两种web 开发模式
Javaweb 的开发分为模式 I 和模式 II 。
模式 I ( JSP+JavaBean )
此种模式使用在小型项目的快速开发中。因为在这种模式开发中,会大量地加入 scriplet ,往往造成分工不明确。互相推诿等情况。
此种模式使用 DAO 的分层设计,客户端通过访问 JSP ,调用里面的 JavaBean ,然后 JavaBean 来处理数据层。
模式 II ( MVC )
这个是现在最重要也最广泛使用的模式。
使用 servlet 来接受用户的请求,然后通过 servlet 来调用 javabean 进行业务处理和数据库处理,最后得到的内容 由 servlet 跳转到 JSP 来处理。
这样,显示就完全交给了 JSP 去做,而具体的业余交给了 Javabean 来解决。这样在大型项目中,美工和程序就实现了分离。而且不会出现一个 jsp 中出现大量 script 代码的情况。
这是一个非常重要的概念。再次重申一次。
JSP只负责显示、servlet负责中专、javabean(DAO)负责数据操作。
servlet本身就提供了request对象和response对象。
config对象在上一篇的init方法中也可以获得。 那么,要取得session对象的话,可以通过servlet提供的request对象中的req.getSession(),这个方法可以返回一个HttpSession的对象。即:HttpSession ses=req.getSession();
要取得application对象的话,可以通过servlet的父类中的方法。即:
ServletContext app=super.getServletContext();
Servlet的跳转
首先再次回顾一下,界面的跳转分成两种。
第一种是客户端的跳转。网址发生了改变。另一种则是服务器段的跳转,网址是不会发生改变的。
我们知道有四种范围属性。 Page 范围本身就与跳转绝缘。那么剩下的三个属性范围 request 、 session 和 application 中, request 是可以支持服务器端跳转的,但不能支持客户端跳转。
我们知道,为了提高效率,节省内存。我们一般会将属性定义的越小越好。所以实际跳转中,大部分情况下,使用的是服务器端跳转以支持 request 属性。
客户端跳转的方法是使用 resp 对象中的方法:
Resp.sendRedirect(“ 目标页面 ”);
而服务器端稍微复杂,需要先 req 的一个方法实例化一个接口,然后通过这个接口中提供的方法才能完成跳转:
RequestDispatcher rd=req.getRequestDispatcher(“ 目标页面 ”);
Rd.forward(req,resp);
或者合成一行:
req.getRequestDispatcher(“ 目标页面 ”).forward(req,resp);
两种web 开发模式
Javaweb 的开发分为模式 I 和模式 II 。
模式 I ( JSP+JavaBean )
此种模式使用在小型项目的快速开发中。因为在这种模式开发中,会大量地加入 scriplet ,往往造成分工不明确。互相推诿等情况。
此种模式使用 DAO 的分层设计,客户端通过访问 JSP ,调用里面的 JavaBean ,然后 JavaBean 来处理数据层。
模式 II ( MVC )
这个是现在最重要也最广泛使用的模式。
使用 servlet 来接受用户的请求,然后通过 servlet 来调用 javabean 进行业务处理和数据库处理,最后得到的内容 由 servlet 跳转到 JSP 来处理。
这样,显示就完全交给了 JSP 去做,而具体的业余交给了 Javabean 来解决。这样在大型项目中,美工和程序就实现了分离。而且不会出现一个 jsp 中出现大量 script 代码的情况。
这是一个非常重要的概念。再次重申一次。
JSP只负责显示、servlet负责中专、javabean(DAO)负责数据操作。
用户访问JSP页面,填入表单信息,然后JSP跳转到Servlet,由servlet来选择DAO操作。并将返回的值通过跳转回到JSP。JSP接受到传过来的对象或属性,将其显示出来。这就是MVC的整个流程。