Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ конкурс.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
651 Кб
Скачать
☆

Приложение

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();

}

}

}

3