0

こんばんは。

今日は一日中考えていた、本当に難しい質問があります。このURLで取得できる最初のコード全体:https://github.com/Vadim32/RemoteWebContent

さて、問題は次のとおりです。ユーザーの注文のショッピング カートを作成する必要があります。ユーザーがイベントを注文できる場所: ソフトウェアの開発やコンピューターのメンテナンス。したがって、この目的のために私はサーブレットを持っています:

public class EventNewUserServlet extends HttpServlet {


    //-------------------------Variables------------------------

        private static final long serialVersionUID = 1L;

        protected WebContentDAOIF webContentDAOIF;


    //-------------------------Servlet methods------------------  

     public void init() {
         /*Getting bean from spring ContextLoaderListener and inject it to webContentDAOIF variable 
           to use webContentDAOIF in this servlet*/
        ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
            webContentDAOIF = context.getBean("webContentDAOImpl", WebContentDAOIF.class);
        }



    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


            List<UserEvents> userEventsList = new ArrayList<UserEvents>(2); //This list store all user orders 



        }
}

そのList<UserEvents> userEventsListため、ComputerMaintenanceEvent や SoftwareDevelopmentEvent など、ユーザーが注文するイベントを保存する doPost メソッドを使用しています。これらはすべて UserEvents クラスから拡張されています。

このjspページで:

<html>

        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Order event page</title>

            <!-- Bootstrap css responsive-->
            <link href="resources/css/bootstrap.css" rel="stylesheet">
            <link href="resources/css/bootstrap-responsive.css" rel="stylesheet">

        </head>

        <body>

            <!-- JQuery and Bootstrap file-->
            <script src="resources/js/jquery-1.10.2.min.js"></script>
            <script src="resources/js/bootstrap.min.js"></script>
            <script src="resources/js/jquery.scrollTo.js"></script> 
            <script src="resources/js/jquery.nav.js"></script>

            <h1>New user</h1>
            <form action="new-user-event" method="post">

                    <input type="hidden" name="userSessionId" value="${userSessionId}">

                <table align="center">

                    <tr><td>Event type:</td><td>
                        <select name="event_type">
                            <option>Choose event type</option>
                            <option>Computer Maintenance Event</option>
                            <option>Software Development Event</option>
                        </select>
                    </td></tr>
                    <tr><td>Event date:</td> <td><input type="text" class="span2" name="user_event_date"></td></tr>
                    <tr><td>Event description:</td> <td><textarea rows="5" name="description"></textarea></td></tr>
                    <tr><td>Additional Info:</td> <td><input type="text" class="span2" name="additional_info"></td></tr>

                    <tr><td>First name:</td> <td><input type="text" class="span2" name="first_name"></td></tr>
                    <tr><td>Last name:</td> <td><input type="text" class="span2" name="last_name"></td></tr> 
                    <tr><td>E-male:</td> <td><input type="text" class="span2" name="e_male"> </td></tr>
                    <tr><td>Address:</td> <td> <input type="text" class="span2" name="address"></td></tr>
                    <tr><td>Phone number:</td> <td> <input type="text" class="span2" name="phone_number"></td></tr>

                    <tr><td><input type="submit" value="Regester user"></td></tr>

                </table>

            </form>

        </body>

    </html>

ユーザーは実際のイベントを注文します(注文します)。

したがって、要件は次のとおりです。

  • オブジェクトをリストに格納する別のサーブレットと、イベントのリストをデータベースに格納する別のサーブレットを作成したくありません。

  • セッションで最初にイベントのオブジェクトを収集するか、サーブレットなしで(おそらくjspまたはjavascriptを使用して)リストに追加したいだけです。たとえば、ユーザーがWebページにボタンを追加し、必要な数のイベントをリストと同じjspページのフォームからの送信ボタンの後に、実際のサーブレットがトリガーされ、収集されたすべてのイベントがリストからデータベースに保存されますか?

そうすることは可能ですか、それとも不可能ですか??

開発者に感謝します。すばらしいチュートリアルやドキュメントを読むのに役立つことを願っています。

4

1 に答える 1