JSPとJDBC


1.
に相当
<% request.getRequestDispatcher("list.jsp").forward(request, response);%>2、
anni.ContactDaoはデータベース操作をカプセル化したbeanです
に相当
<% anni.ContactDao contactDao = (anni.ContactDao) application.getAttribute("contactDao");if (contactDao == null) { contactDao = new anni.ContactDao(); application.setAttribute("contactDao", contactDao); }%>上のコードではオブジェクトのインスタンスを作成するためだけに、なぜnewを使わないのか、このように書かれたコードよりも少し多く、理解しやすいのに、なぜjsp:useBeanを使用するのか.
ラベルのscope=「アプリケーション」に注意してください.アプリケーションは私たちが紹介した4つの役割ドメインの1つです.
まずアプリケーションからcontactDaoに対応するオブジェクトを取得し、nullであるかどうかを判断します.nullでこの変数が初期化されていないことを示す場合は、newを使用してオブジェクトインスタンスを作成し、アプリケーションに入れます.最後に私たちが得たのはこのcontactDaoの例です.
3、create.jspにはフォームコミットの情報が含まれています
save.jspフォームコミット情報処理
Contactは対応するエンティティbean名に対応する属性が入ったget,setメソッド
<jsp:useBean class="anni.ContactDao" id="contactDao" scope="application"/>
<jsp:useBean class="anni.Contact" id="contact"/>
<jsp:setProperty name="contact" property="*"/>
<%
    contactDao.save(contact);
    response.sendRedirect("list.jsp");
%>

に相当
まずアプリケーションからcontactDaoを取り出し、contactを作成します.contactの作成時にscopeは指定されておらず、デフォルトではnewを使用してこのローカル変数のみが作成され、役割ドメインに影響はありません.jsp:setPropertyは新しいもので、javabeanのデータを設定する役割を果たします.以前はjsp:useBeanを使用してcontactインスタンスを作成していましたが、name=「contact」でこのインスタンスのデータを設定し、propertyはproperty=「username」などのプロパティを指定したり、アスタリスク(*)を使用して見つけられるすべてのプロパティを一括設定したりすることができます.このjspアクションは実際には次のコードと等価です.
contact.setUsername(request.getParameter("username"));
contact.setSex(request.getParameter("sex"));
contact.setEmail(request.getParameter("email"));
contact.setQq(request.getParameter("qq"));
contact.setDescn(request.getParameter("descn")); 
contactDao.save(contact);
response.sendRedirect("list.jsp");

 :
http://www.family168.com/tutorial/jsp/html/jsp-ch-05.html