这五大Servlet方法都是功能比较强大的。相信对于WEB设计来说有一定的帮助。不要一个一个方法的试验,等看完所有的内容,然后一起运用这些方法并结合以前的workshop来做个小程序。
◆parseTextMessage()方法
在这个例子里:定义了一个数据接受类。parseTextMessage()方法接受了一组从表单传送过来的对象以及他们的值。我们在做一些产品开发的时候,比如自定义表单,往往不知道传送过来有多少对象,对于这样的问题,程序是无法知道的,用了这个方法后,就可以报所有的对象一下子都拿到了。下面看一下这个例子:
- private void parseTextMessage(HttpServletRequest request){
- Enumeration names; // 列举client传送过来的所有的对象
- String name; /
- String[] value; //
- // 接受所有的对象
- names = request.getParameterNames();
- while (names.hasMoreElements()) {
- //得到对象名称
- name = (String)names.nextElement();
- //根据对象名称重新找到对象的值
- value = request.getParameterValues(name);
- // 把对象名称和值放到一个类中,这个类的代码在前面的练习中有
- put(name, value);
- }
- // 获取一个page的ID,为什么要设置page id,在java规则中有
- pageID = getPostPageID();
- // 获取事务id,如果有事务的话
- trxID = getPostTrxID();
- }
◆getJSPBeanInSession()方法
这是一个I/O管理类。这个方法根据page的id来从session中返回jsp的数据,如果用getSession(true).getAttribute(pageID) 也是对的。
- private JPC_JSPBean getJSPBeanInSession(String pageID) {
- 据页的id来从session中返回jsp的数据
- return (JPC_JSPBean)request.getSession().getAttribute(pageID);
- }
◆dispatchTransaction()方法
这个方法得到一组类的实例,然后开始事务处理。
- public void dispatchTransaction() {
- JPC_Transaction trx = null;
- String classList[] = getTrxClassList(getTrxID());
- try {
- for (int i = 0; i < classList.length; i++) {
- trx = (JPC_Transaction)Class.forName(classList[i]).newInstance();
- if (trx != null) {
- trx.setIOManager(this);
- trx.start();
- }
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (InstantiationException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- }
◆putJSPBeanInSession()方法
把jsp的数据类和一个jsp页面的ID放到 session中。
- private void putJSPBeanInSession(String pageID, JPC_JSPBean jspBean) {
- //把jsp的数据类和一个jsp页面的ID放到 session中。
- request.getSession().setAttribute(pageID, jspBean);
- }
◆sendPage()方法
- private void sendPage(String pageID, JPC_JSPBean outJSPBean) {
- // 把页面id和数据存储到 session 中
- if (outJSPBean != null) {
- putJSPBeanInSession(pageID, outJSPBean);
- }
- // 根据文件id来取得文件数据
- String jspFileName = getJSPFileName(pageID);
- //根据jsp文件名来得到一个RequestDispatcher
- RequestDispatcher rd = context.getRequestDispatcher(jspFileName);
- if (rd != null) {
- try {
- //调用jsp
- rd.forward(request, response);
- } catch (ServletException e) {
- } catch (IOException e) {
- }
- }
- }
Servlet方法的使用要在实践操作中多多积累,慢慢总结,希望你早日熟练Servlet方法的使用。