ユーザーが何らかの値を入力するフォームを含む jsp ページがあります。次に、これらの値をサーブレットに渡します。サーブレットはそれを処理し、関連するデータ セットを取得します。これで、サーブレット ページでデータを取得できますが、リクエストをフェッチしたのと同じ JSP ページに表示できません。
jsp 内で Java コードを使用したくありません。サーブレットのみを使用して同じことをしたいと思います。私はこのようなことをしたくありません
<% if(rollno==null)
// then display the form
else
// process the request on the jsp page itself
%>
サーブレット ファイルですべての結果を処理し、サーブレットから jsp にデータを渡すことによって、結果を jsp ページに表示したいと考えています。私は以下のコードを投稿しています:
<form id="form" method="post" action="searchServlet">
Student Roll No :<br><input type="text" value="" name="rollno"><br><br>
<input type="submit" value="SHOW DETAILS" />
</form>
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String rollno=request.getParameter("rollno");
ResultSet rs=null;
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost/schooldatabase";
Connection con = DriverManager.getConnection(url,"root","passwd");
Statement st= (Statement) con.createStatement();
String strquery="SELECT name,regno FROM `schooldatabase`.`student_info` WHERE rollno="+ rollno+ ";";
if(!con.isClosed()) {
rs=st.executeQuery(strquery);
while(rs.next())
{
out.println(rs.getString("name"));
out.println(rs.getString("regno"));
}
}
else
{ // The connection is closed
}
}
catch(Exception e)
{
out.println(e);
}
finally {
out.close();
}
}