(文責:阿部)
共同開発をするにあたって、無用のトラブル(ある人の環境で動くものが、別の人の環境だと動かなくなるなど)を防ぐためにメンバーそれぞれの開発環境を統一した。 作業は顔を合わせて行い、細かい設定なども同時にした。
また、CVSでバージョン管理を行いeclipseと連携させた。ファイルの競合を防ぎ、マージや過去のバックアップ復元を手軽にできるこのシステムは、作業を分担したとはいえ、共同開発に欠かせない。
モデルの実装時と同様に、ServletやJSPにも統一された書式が必要なためサンプルをつくり、それを基準にして実装を進めた。
/* * Created on 2003/06/05 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package mirumiru.servlet.teacher; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import mirumiru.model.Lecture; import mirumiru.servlet.MiruMiruServlet; /** * @author macchan * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class LoginServlet extends MiruMiruServlet { /**************************************** * constants ****************************************/ private static final String PASSWORD = "password"; private static final String LECTURE_NAME = "lectureName"; /**************************************** * Application Logics ****************************************/ /** * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // input req.setCharacterEncoding("Shift_JIS"); String lectureName = req.getParameter(LECTURE_NAME); String password = req.getParameter(PASSWORD); if (lectureName == null) { // input validate check } // application logic System.out.println( "DEBUG: " + "name=" + lectureName + ",password=" + password + "でアプリに委託"); Lecture lecture = getApp().loginLecture(lectureName, password); // output ServletContext servletContext = getServletContext(); if (lecture != null) { // success HttpSession session = req.getSession(true); session.setAttribute("lecture", lecture); RequestDispatcher reqDispatcher = servletContext.getRequestDispatcher("/jsp/teacher/lecture.jsp"); reqDispatcher.forward(req, res); } else { // failure RequestDispatcher reqDispatcher = servletContext.getRequestDispatcher( "/jsp/teacher/loginfailure.jsp"); reqDispatcher.forward(req, res); } } }
<!-- lecture.jsp 出題画面 @author macchan @vertion $Id: index_c6.html,v 1.1 2005/04/07 07:28:19 gackt Exp $ --> <!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en"> <%@ page contentType="text/html;charset=Shift_JIS" import="java.util.*,mirumiru.app.*,mirumiru.model.*" %> <jsp:useBean id="lecture" class="Lecture" scope="session" /> <html> <head> <title>OK</title> </head> <body bgcolor="#FFFFFF"> 成功しました。 <%=lecture.getName()%>のサポートを開始。 </body> </html>