изображение, показывающее страницу входа, не получающую содержимое включенного сервлета Имена классов изображение, показывающее страницу входа перед обработкой формы
я пытаюсь перенаправить запрос от сервлета на jsp page, на этой jsp странице есть один или несколько включенных сервлетов на странице, фактически переадресация запроса на страницу из сервлета не является моей проблемой, но когда он переносит меня на эту страницу, содержимое включенного сервлета ( s) на этой странице отсутствует ... вот исходный код ... для класса, который будет включен в страницу
package Classes;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "Classnames", urlPatterns = {"/Classnames"})
public class Classnames extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{
Connection conn= ConnectionPackage.MyConnection.getConnection();
PrintWriter out = response.getWriter();
PreparedStatement ps;
ResultSet rs;
String class_name;
int class_id;
ps = conn.prepareStatement("SELECT class.class_name,class.id FROM class WHERE 1");
rs = ps.executeQuery();
while(rs.next()){
class_name = rs.getString("class_name");
class_id = rs.getInt("id");
out.println("<option value="+class_id+">"+class_name+"</option>");
}
ps.close();
rs.close();
conn.close();
}catch(Exception ex){}
}
}
, тогда страница, содержащая включенный сервлет, находится ниже
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="author" content="David Tega">
<meta name="description" content="Cbt Training Platform">
<link rel="stylesheet" type="text/css" href="css/w3.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="stylesheet" type="text/css" href="css/responsiveness.css">
<meta name="copyright" content="copyright 2005-2020 Tech Giants"/>
<meta name="robots" content="noindex,nofollow,noarchive"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Brainfield School Platform</title>
</head>
<body id="login" style="background-image: url('images/headway-5QgIuuBxKwM-unsplash.jpg'); background-size: cover;" >
<div class="w3-padding-large w3-white">
<div class="w3-container">
<p class="w3-wide w3-text-brown w3-large">Login...</p>
<p class="w3-text-red w3-small">${loginErrorMessage}</p>
</div>
<form action="StudentLogin" method="POST">
<div class="w3-row-padding">
<div class="w3-half container">
<select class="w3-select w3-border" name="class_name">
<option disabled selected>Class</option>
<jsp:include page="Classnames" flush="true"></jsp:include>
</select>
</div>
<div class="w3-half container">
<input class="w3-input w3-border" name="student_rollno" type="text" placeholder="(XXX)" maxlength="3">
</div>
<button class="w3-button w3-col w3-margin-top w3-gray w3-border w3-padding-small w3-text-white">Submit</button>
</div>
</form>
</div>
</body>
</html>
Наконец, сервлет, обрабатывающий форму на странице StudentLogin, находится ниже
package LoginPackage;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
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;
import javax.servlet.http.HttpSession;
@WebServlet(name = "StudentLogin", urlPatterns = {"/StudentLogin"})
public class StudentLogin extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{
Connection conn= ConnectionPackage.MyConnection.getConnection();
int roleId =6,state=1;
PreparedStatement ps;
ResultSet rs;
HttpSession ss = request.getSession(true);
String classId = request.getParameter("class_name");
String rollno = request.getParameter("student_rollno"),role,name,picture;
String id;
ps = conn.prepareStatement("SELECT students.userId,user.full_name,user.picture,roleinfo.name FROM students INNER JOIN user ON (students.userId = user.id) INNER JOIN roleinfo ON (user.roleId = roleinfo.id) WHERE students.rollno = '"+rollno+"' AND students.classId ='"+classId+"' AND user.roleId ="+roleId+" AND user.state = "+state+" ");
rs = ps.executeQuery();
if(rs.next()){
role = rs.getString("name");
name = rs.getString("full_name");
picture = rs.getString("picture");
id = rs.getString("userId");
ss.setAttribute("full_name", name);
ss.setAttribute("user_role", role);
ss.setAttribute("user_picture", picture);
ss.setAttribute("userId", id);
response.sendRedirect(request.getContextPath()+ "/StudentProfile.jsp" );
}else{
request.setAttribute("loginErrorMessage", "Incorrect Details, Try Again");
RequestDispatcher rd =request.getRequestDispatcher("StudentLogin.jsp");
rd.forward(request, response);
}
}catch(Exception ex){}
}
}
Заранее спасибо