###前提・実現したいこと
スケジュールを登録、更新、削除するwebアプリケーションを作成しています
サーブレットの名前をアドレスバーに打ち込んだら直接サーブレットの内容が表示されるようにしたいです。
web.xmlに何か書けばいいのはわかっているのですが、さっぱりわかっていません(違っていたらすみません)
もしくは下記のコードをjspに書くとしたらどのようなコードを書けばいいのでしょうか。
###該当のソースコード
入りきらないので分割します
package calendar;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Calendar;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
*
- @author hoge
*/
public class MonthView7 extends HttpServlet {
protected Connection conn = null; public void init() throws ServletException { String url = "jdbc:mysql://localhost/servletschedule"; String user = "userID"; String password = "pass"; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException e) { log("ClassNotFoundException:" + e.getMessage()); } catch (SQLException e) { log("SQLException:" + e.getMessage()); } catch (Exception e) { log("Exception:" + e.getMessage()); } } public void destory() { try { if (conn != null) { conn.close(); } } catch (SQLException e) { log("SQLException:" + e.getMessage()); } } public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html;charset=utf-8"); PrintWriter out = res.getWriter(); int[] calendarDay; int count; int year; int month; int day = 1; calendarDay = new int[42]; /* 最大で7日×6週 */ count = 0; String param = req.getParameter("YEAR"); if (param == null || param.length() == 0) { year = -999; } else { try { year = Integer.parseInt(param); } catch (NumberFormatException e) { year = -999; } } param = req.getParameter("MONTH"); if (param == null || param.length() == 0) { month = -999; } else { try { month = Integer.parseInt(param); } catch (NumberFormatException e) { month = -999; } } /* パラメータが指定されていない場合は本日の日付を設定 */ if (year == -999 || month == -999) { Calendar calendar = Calendar.getInstance(); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); day = calendar.get(Calendar.DATE); } else { if (month == 12) { month = 0; year++; } if (month == -1) { month = 11; year--; } } /* ユーザー情報を取り出す */ HttpSession session = req.getSession(false); String username = (String) session.getAttribute("username"); String tmpuserid = (String) session.getAttribute("userid"); int userid = 0; if (tmpuserid != null) { userid = Integer.parseInt(tmpuserid); } StringBuffer sb = new StringBuffer(); sb.append("<!DOCTYPE html>"); sb.append("<html lang=\"ja\">"); sb.append("<head>"); sb.append("<meta http-equiv=\"Content-Type\" Content=\"text/html;charset=Shift_JIS\">"); sb.append("<title>スケジュール管理</title>"); sb.append("<style>"); sb.append("table{border:1px solid #a9a9a9;width:90%;padding:0px;margin:0px;border-collapse:collapse;}"); sb.append("td{width:12%;border-top:1px solid #a9a9a9;border-left:1px solid #a9a9a9;" + "vertical-align:top;margin:0px;padding:2px;}"); sb.append("td.week{background-color:#f0f8ff;text-align:center;}"); sb.append("td.day{background-color:#f5f5f5;text-align:right;font-size:0.75em;}"); sb.append("td.otherday{background-color:#f5f5f5;color:#d3d3d3;text-align:right;font-size:0.75em;}"); sb.append("td.sche{background-color:#fffffff;text-align:left;height:80px;}"); sb.append("img{border:0px;}"); sb.append("span.small{font-size:0.75em;}"); sb.append("</style>"); sb.append("</head>"); sb.append("<body>"); sb.append("<p>"); sb.append(username); sb.append("さんのスケジュールです"); sb.append("</p>"); /* 日付データを配列に格納 */ count = setDateArray(year, month, day, calendarDay, count); /* 年月のリンク作成 */ sb.append(createMonthLink(year, month)); sb.append("<table>"); sb.append("<tr><td class=\"week\">日</td><td class=\"week\">月</td>" + "<td class=\"week\">火</td><td class=\"week\">水</td>" + "<td class=\"week\">木</td><td class=\"week\">金</td><td class=\"week\">土</td></tr>"); int weekCount = count / 7; for (int i = 0; i < weekCount; i++) { /* スケジュールの日付画面を作成する */ sb.append("<tr>"); for (int j = i * 7; j < i * 7 + 7; j++) { if (calendarDay[j] > 35) { sb.append("<td class=\"otherday\">"); sb.append(calendarDay[j] - 35); } else { sb.append("<td class=\"day\">"); sb.append(calendarDay[j]); } sb.append("</td>"); } sb.append("</tr>"); /* カレンダーのスケジュール登録画面を作成する */ sb.append(createScheduleStr(month, i * 7, calendarDay, userid)); } sb.append("</table>"); sb.append("</body>"); sb.append("</html>"); out.println(new String(sb)); }
###補足情報(言語/FW/ツール等のバージョンなど)
Eclipse tomcat6.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。