Приложение
Index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Программа "Школьное расписание"</title>
</head>
<body bgcolor="FFC962">
<h2 ALIGN="CENTER"><FONT FACE="Impact" color="800000">Программа "Школьное расписание" разработана для гимназии №</FONT></h2><br>
<p><a href="enterSchedule.jsp"><FONT FACE="sans-serif" color="#ff0000">Перейти на страницу ввода расписания</font></a></p>
<p><a href="viewSchedule.jsp"><FONT FACE="sans-serif" color="#ff0000">Перейти на страницу просмотра расписания</font></a></p>
<p><a href="stat.jsp"><FONT FACE="sans-serif" color="#ff0000">Перейти на страницу учебной нагрузки</font></a></p>
<p><a href="viewAll.jsp"><FONT FACE="sans-serif" color="#ff0000">Получить общешкольное расисание</FONT></a></p>
<p><a href="deleteSchedule.jsp"><FONT FACE="sans-serif" color="#ff0000">Удалить расписание из базы данных с сохранением в текстовый файл(перед вводом расписания на новый учебный год)</FONT></a></p>
</body>
</html> enterSchedule.jsp
<%@ page import="java.util.*, java.text.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ввод расписания</title>
</head>
<body bgcolor="FFE67F">
<FORM ACTION="doschedule" METHOD="POST">
<b>
Вводим расписание для
<select name="class" size="6">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
</select>
<INPUT TYPE="RADIO" NAME="letter" VALUE="А" checked>А
<INPUT TYPE="RADIO" NAME="letter" VALUE="Б">Б
<INPUT TYPE="RADIO" NAME="letter" VALUE="В">В
класса</b></br>
<table border="1px" cellpadding="10px"><tr><th>Номер урока</th> <th>День недели</th><th> Урок</th><th> Учитель</th> <th>Кабинет </th></tr></br>
<tr><td><select name="num" size="6" >
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select></td>
<td><select name="day" size="6" width="10">
<option value="Понедельник" selected="selected">Понедельник</option>
<option value="Вторник">Вторник</option>
<option value="Среда">Среда</option>
<option value="Четверг">Четверг</option>
<option value="Пятница">Пятница</option>
<option value="Суббота">Суббота</option>
</select></td>
<td><select name="lesson" size="6" width="10">
<option value="Алгебра" selected="selected">Алгебра</option>
<option value="Геометрия">Геометрия</option>
<option value="Русский язык">Русский язык</option>
<option value="Литература">Литература</option>
<option value="География">География</option>
<option value="Физика">Физика</option>
<option value="Химия">Химия</option>
<option value="Биология">Биология</option>
<option value="Физкультура">Физкультура</option>
<option value="Английский язык">Английский язык</option>
</select></td>
<td><select name="teacher" size="6" width="10">
<option value="Иванова" selected="selected">Иванова</option>
<option value="Петрова">Петрова</option>
<option value="Сидорова">Сидорова</option>
<option value="Козлов">Козлов</option>
<option value="Путин">Путин</option>
<option value="Ковалевская">Ковалевская</option>
<option value="Толстой">Толстой</option>
<option value="Черный">Черный</option>
<option value="Кучма">Кучма</option>
<option value="Билан">Билан</option>
</select></td>
<td><select name="cabinet" size="6" width="10">
<option value="№5" selected="selected">5</option>
<option value="№7">7</option>
<option value="№8">8</option>
<option value="№10">10</option>
<option value="№11">11</option>
<option value="№13">13</option>
<option value="№15">15</option>
<option value="№21">21</option>
<option value="№24">24</option>
<option value="№25">25</option>
</select></td></br></br></table>
<input type="submit" value="Добавить" /></br></br>
</FORM>
<h2>Последнее обновление базы данных расписания</h2>
<%= new java.util.Date()%><BR>
<%-- инициализация --%>
<%! boolean flagStart = true; %>
<%! List<String> num_array = new ArrayList<String>(); %>
<%! List<String> day_array = new ArrayList<String>(); %>
<%! List<String> lesson_array = new ArrayList<String>(); %>
<%! List<String> teacher_array = new ArrayList<String>(); %>
<%! List<String> cabinet_array = new ArrayList<String>(); %>
<table border="1px" cellpadding="8px">
<%-- Названия колонок в таблице --%>
<tr>
<th>Номер урока</th>
<th>День недели</th>
<th>Название урока</th>
<th>Учитель</th>
<th>Кабинет</th>
</tr>
<%-- Считываем параметры запроса --%>
<% if(!flagStart){
num_array.add(request.getParameter("num"));
String day=new String(request.getParameter("day").getBytes("ISO-8859-1"),"UTF-8");
day_array.add(day);
String teacher=new String(request.getParameter("teacher").getBytes("ISO-8859-1"),"UTF-8");
teacher_array.add(teacher);
String lesson=new String(request.getParameter("lesson").getBytes("ISO-8859-1"),"UTF-8");
lesson_array.add(lesson);
String cabinet=new String(request.getParameter("cabinet").getBytes("ISO-8859-1"),"UTF-8");
cabinet_array.add(cabinet); %>
<%-- Заполняем таблицу --%>
<% for(int i = 0; i < num_array.size(); ++i){
out.println("<tr>");
out.println("<td>" + num_array.get(i) + "</td>");
out.println("<td>" + day_array.get(i) + "</td>");
out.println("<td>" + lesson_array.get(i) + "</td>");
out.println("<td>" + teacher_array.get(i) + "</td>");
out.println("<td>" + cabinet_array.get(i) + "</td>");
out.println("</tr>");
} %>
<% } else
flagStart = false; %>
</tr></table>
Посмотреть расписание можно здесь:
<p><a href="viewSchedule.jsp">Перейти на страницу просмотра расписания</a></p>
</body>
</html> viewSchedule.jsp
<%@ page language="java" import="java.sql.*, java.util.*, java.text.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Получить расписание</title>
</head>
<body bgcolor="FEDF65">
<FORM action="vwservlet" method="post">
Получить расписание для
<select name="class" size="6">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
</select>
<INPUT TYPE="RADIO" NAME="letter" VALUE="А" checked>А
<INPUT TYPE="RADIO" NAME="letter" VALUE="Б">Б
<INPUT TYPE="RADIO" NAME="letter" VALUE="В">В
класса </br></br>
<INPUT type="submit" name="submit" value="Получить"><BR>
</FORM><BR>
</body>
</html>
Stat.jsp
<%@ page language="java" import="java.sql.*, java.util.*, java.text.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Получить нагрузку</title>
</head>
<body bgcolor="F282EA">
<FORM action="stservlet" method="post">
Получить расписание для учителя <select name="teacher" >
<option value="Иванова" selected="selected">Иванова</option>
<option value="Петрова">Петрова</option>
<option value="Сидорова">Сидорова</option>
<option value="Козлов">Козлов</option>
<option value="Путин">Путин</option>
<option value="Ковалевская">Ковалевская</option>
<option value="Толстой">Толстой</option>
<option value="Черный">Черный</option>
<option value="Кучма">Кучма</option>
<option value="Билан">Билан</option>
</select>
<INPUT type="submit" name="submit" value="Получить"><BR>
</FORM><BR>
</body>
</html>
DoSchedule.java
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DoSchedule extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
//загрузка драйвера
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//подключаемся к БД
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";
String name = "root";
String password = "";
try {
Connection con = DriverManager.getConnection(url, name, password);
Statement st = con.createStatement();
//
String lett = request.getParameter("letter");
String bdName="10"+lett;
//вносим расписание
request.setCharacterEncoding("UTF-8");
String mycl=new String(request.getParameter("class").getBytes("ISO-8859-1"),"UTF-8");
String let=new String(request.getParameter("letter").getBytes("ISO-8859-1"),"UTF-8");
String myclass=mycl+let;
String num=request.getParameter("num");
String day=new String(request.getParameter("day").getBytes("ISO-8859-1"),"UTF-8");
String lesson=new String(request.getParameter("lesson").getBytes("ISO-8859-1"),"UTF-8");
response.setContentType("text/html; charset=UTF-8");
String teacher=new String(request.getParameter("teacher").getBytes("ISO-8859-1"),"UTF-8");
String cabinet=new String(request.getParameter("cabinet").getBytes("ISO-8859-1"),"UTF-8");
st.executeUpdate("insert into schedule1(class, num, day, lesson, teacher, cabinet) "
+ "values('"+myclass+"','"+num+"','"+day+"','"+lesson+"','"+teacher+"','"+cabinet+"') "
+ "on duplicate key update lesson='"+lesson+"', teacher='"+teacher+"', cabinet='"+cabinet+"'");
//получаем данные из БД
String query = "select * from schedule1";
ResultSet rs = st.executeQuery(query);
//вывести результаты из БД
while (rs.next())
{
String myrow="\n";
for(int i=1;i<=5;i++)
{
myrow+=rs.getString(i)+" ";
}
System.out.println(myrow);
}
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/enterSchedule.jsp");
dispatcher.forward(request, response);
//response.sendRedirect("/ScheduleAppV1/enterSchedule.jsp");
}
}
ViewServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ViewServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
//выбираем таблицу в БД для данного расписания
String lett=new String(request.getParameter("letter").getBytes("ISO-8859-1"),"UTF-8");
String cl = request.getParameter("class");
String myclass=cl+lett;
System.out.println(myclass);
try {
//загрузка драйвера
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//подключаемся к БД
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";
String name = "root";
String password = "";
try {
Connection con = DriverManager.getConnection(url, name, password);
Statement st = con.createStatement();
//составляем запросы для каждого урока в неделе
String query = "select schedule1.num, group_concat(case when (schedule1.day='Понедельник' and schedule1.class='"+myclass+"') then concat(schedule1.lesson,', ',schedule1.teacher,', ', schedule1.cabinet) end) as 'Понедельник',"
+"group_concat(case when (schedule1.day='Вторник'and schedule1.class='"+myclass+"') then concat(schedule1.lesson,', ',schedule1.teacher,', ', schedule1.cabinet) end) as 'Вторник', "
+"group_concat(case when (schedule1.day='Среда' and schedule1.class='"+myclass+"') then concat(schedule1.lesson,', ',schedule1.teacher,', ', schedule1.cabinet) end) as 'Среда', "
+"group_concat(case when (schedule1.day='Четверг' and schedule1.class='"+myclass+"') then concat(schedule1.lesson,', ',schedule1.teacher,', ', schedule1.cabinet) end) as 'Четверг', "
+"group_concat(case when (schedule1.day='Пятница' and schedule1.class='"+myclass+"') then concat(schedule1.lesson,', ',schedule1.teacher,', ', schedule1.cabinet) end) as 'Пятница', "
+"group_concat(case when (schedule1.day='Суббота' and schedule1.class='"+myclass+"') then concat(schedule1.lesson,', ',schedule1.teacher,', ', schedule1.cabinet) end) as 'Суббота' "
+"from schedule1 group by schedule1.num";
ResultSet rs = st.executeQuery(query);
//выводим результат в виде таблицы
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<center>");
out.println("<h2>Расписание занятий для "+myclass+" класса</h2>");
out.println("<table border=1px cellpadding=8px>");
out.println("<tr>");
out.println("<td><b>Номер урока</b></td>");
out.println("<td><b>Понедельник</b></td>");
out.println("<td><b>Вторник</b></td>");
out.println("<td><b>Среда</b></td>");
out.println("<td><b>Четверг</b></td>");
out.println("<td><b>Пятница</b></td>");
out.println("<td><b>Суббота</b></td>");
out.println("</tr>");
int n=1;
while(rs.next()){
out.println("<tr>");
out.println("<td>"); out.println(rs.getString("num")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("Понедельник")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("Вторник")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("Среда")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("Четверг")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("Пятница")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("Суббота")); out.println("</td>");
out.println("</tr>");
n++;
}
rs.close();
st.close();
con.close();
out.println("</table>");
out.println("</center>");
out.println("</body>");
out.println("</html>");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
StatServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class StatServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
//получаем фамилию учителя
String teacher=new String(request.getParameter("teacher").getBytes("ISO-8859-1"),"UTF-8");
try {
//загрузка драйвера
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//подключаемся к БД
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";
String name = "root";
String password = "";
try {
Connection con = DriverManager.getConnection(url, name, password);
Statement st = con.createStatement();
//составляем запросы поиска уроков для выбраного учителя
String query = " select num, day, lesson, class from schedule1 where teacher='"+teacher+"'";
ResultSet rs = st.executeQuery(query);
//выводим результат в виде таблицы
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<center>");
out.println("<h2>Список уроков</h2>");
out.println("<table>");
out.println("<tr>");
out.println("<td><b>Номер урока</b></td>");
out.println("<td><b>День недели</b></td>");
out.println("<td><b>Урок</b></td>");
out.println("<td><b>Класс</b></td>");
out.println("</tr>");
int n=1;
while(rs.next()){
out.println("<tr>");
out.println("<td>"); out.println(rs.getString("num")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("day")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("lesson")); out.println("</td>");
out.println("<td>"); out.println(rs.getString("class")); out.println("</td>");
out.println("</tr>");
n++;
}
rs.close();
st.close();
con.close();
out.println("</table>");
out.println("</center>");
out.println("</body>");
out.println("</html>");
out.println("</body>");
out.println("</html>");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
