获得内置对象
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的整个流程。