Servlet方法中的常用五大方法淺析
這五大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方法的使用。
【編輯推薦】