<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 1.4.1\. 編寫基本的servlet 在你的源代碼目錄的`events`包中創建一個新的類: ``` package events; // Imports public class EventManagerServlet extends HttpServlet { // Servlet code } ``` 我們后面會用到`dateFormatter` 的工具, 它把`Date`對象轉換為字符串。只要一個formatter作為servlet的成員就可以了。 這個servlet只處理 HTTP `GET` 請求,因此,我們要實現的是`doGet()`方法: ``` protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy"); try { // Begin unit of work HibernateUtil.getSessionFactory() .getCurrentSession().beginTransaction(); // Process request and render page... // End unit of work HibernateUtil.getSessionFactory() .getCurrentSession().getTransaction().commit(); } catch (Exception ex) { HibernateUtil.getSessionFactory() .getCurrentSession().getTransaction().rollback(); throw new ServletException(ex); } } ``` 我們稱這里應用的模式為每次請求一個session_(session-per-request)_。當有請求到達這個servlet的時候,通過對`SessionFactory`的第一次調用,打開一個新的Hibernate `Session`。然后啟動一個數據庫事務—所有的數據訪問都是在事務中進行,不管是讀還是寫(我們在應用程序中不使用auto-commit模式)。 _不要_為每次數據庫操作都使用一個新的Hibernate `Session`。將Hibernate `Session`的范圍設置為整個請求。要用`getCurrentSession()`,這樣它自動會綁定到當前Java線程。 下一步,對請求的可能動作進行處理,渲染出反饋的HTML。我們很快就會涉及到那部分。 最后,當處理與渲染都結束的時候,這個工作單元就結束了。假若在處理或渲染的時候有任何錯誤發生,會拋出一個異常,回滾數據庫事務。這樣,`session-per-request`模式就完成了。為了避免在每個servlet中都編寫事務邊界界定的代碼,可以考慮寫一個servlet 過濾器(filter)來更好地解決。關于這一模式的更多信息,請參閱Hibernate網站和Wiki,這一模式叫做_Open Session in View_—只要你考慮用JSP來渲染你的視圖(view),而不是在servlet中,你就會很快用到它。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看