📄 search.java
字号:
/******************************************************************************************************************
IT03July Java Assignment
Message Board!
Created by Jason(632)
This program using JDBC to record user detail and using HTTP session to remember user infomations from HTML pages.
******************************************************************************************************************/
package myelf;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.text.*;
public class search extends HttpServlet
{
public void doPost (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String url = "jdbc:hsqldb:" + getServletContext().getRealPath("/db/myDB");
Statement statement;
ResultSet resultSet;
Connection connection;
String choice = request.getParameter ("choice");
String content = request.getParameter ("content");
HttpSession session;
session = request.getSession(false);
String username = (String)session.getValue("username");
try
{
Class.forName ("org.hsqldb.jdbcDriver");
connection = DriverManager.getConnection (url,"sa", "");
}
catch (ClassNotFoundException cnfex)
{
ErrorMessage (response, "Failed to load JDBC/ODBC driver.");
return;
}
catch (SQLException sqlex)
{
ErrorMessage (response, "Unable to connect to database.");
return;
}
try
{
statement = connection.createStatement();
if ( choice.equals("1"))//get the value from HTML
{
resultSet = statement.executeQuery("Select Username, Message, LeaveTime From Message"
+ " WHERE Username LIKE '%" + content + "%'" );//search username
displayResultSet ( response, resultSet, username );
}//if all
else if ( choice.equals("2"))//get the value from HTML
{
resultSet = statement.executeQuery("Select Username, Message, LeaveTime From Message"
+ " WHERE Message like '%" + content + "%';" );
displayResultSet ( response, resultSet, username);//search message
}
else//get the value from HTML
{
resultSet = statement.executeQuery("Select Username, Message, LeaveTime From Message"
+ " WHERE Username LIKE '%" + content + "%'"
+ " OR Message LIKE '%" + content + "%';" );
displayResultSet ( response, resultSet, username);//search username and message
}
}
catch (SQLException sqlex)
{
ErrorMessage (response, sqlex.getMessage());
}
try
{
connection.close ();
}
catch (SQLException sqlex)
{
// Cannot send error message, so just exit
}
}
private void displayResultSet (HttpServletResponse response, ResultSet rs, String username )
throws ServletException, IOException, SQLException
{
long ID;
String user,message,time;
boolean moreRecords;
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
String date = (df.format(new java.util.Date())).toString();
PrintWriter output;//Start to write HTML files in java
response.setContentType ("text/html");
output = response.getWriter ();
output.println ("<html>");
output.println ("<head>");
output.println ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">");
output.println ("<title>Message Board</title>");
output.println ("<style type=\"text/css\">");
output.println ("<!--");
output.println ("body {");
output.println ("background-color: #66CCFF;");
output.println ("margin-left: 10px;");
output.println ("margin-top: 10px;");
output.println ("margin-right: 10px;");
output.println ("margin-bottom: 10px;");
output.println ("}");
output.println (".style7 {font-family: Tahoma}");
output.println (".style10 {color: #0066FF}");
output.println ("body,td,th {");
output.println ("font-family: Tahoma;");
output.println ("}");
output.println (".style10 {font-family: Verdana, Arial, Helvetica, sans-serif}");
output.println ("-->");
output.println ("</style></head>");
output.println ("<body>");
output.println ("<form name=\"form\" method=\"post\" action=\"http://www.myjavaserver.com/servlet/myelf.messageboard\">");
output.println ("<table width=\"745\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">");
output.println ("<tr>");
output.println ("<th width=\"139\" scope=\"col\"><img src='http://myjavaserver.com/~myelf/pic/logo.jpg' width=\"139\" height=\"82\"></th>");
output.println ("<th width=\"292\" class=\"style7\" scope=\"col\"> </th>");
output.println ("<th width=\"47\" valign=\"bottom\" scope=\"col\"> </th>");
output.println ("<th width=\"73\" valign=\"baseline\" scope=\"col\"></th>");
output.println ("<th width=\"89\" valign=\"baseline\" scope=\"col\"><span class=\"style7\"><a href=\"http://www.myjavaserver.com/servlet/myelf.logout\">Logout</a></span></th>");
output.println ("<th width=\"105\" valign=\"baseline\" scope=\"col\"></th>");
output.println ("</tr>");
output.println ("</table>");
output.println ("<p> </p>");
output.println ("<div align=\"center\"></div>");
output.println ("<div align=\"center\"></div>");
output.println ("<table width=\"744\" height=\"21\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">");
output.println ("<tr>");
output.println ("<td width=\"174\" height=\"21\" background=\"http://myjavaserver.com/~myelf/pic/tab.gif\"> Welcome <span class=\"style10\"></span>" + username + " ,</div></td>");
output.println ("<td width=\"124\" background=\"http://myjavaserver.com/~myelf/pic/tab.gif\"> </td>");
output.println ("<td width=\"233\" background=\"http://myjavaserver.com/~myelf/pic/tab.gif\"><div align=\"center\">");
output.println ("<input type=\"submit\" name=\"Submit\" value=\"I'm want to leave message!\">");
output.println ("</div></td>");
output.println ("<td width=\"87\" background=\"http://myjavaserver.com/~myelf/pic/tab.gif\"><div align=\"center\"></div></td>");
output.println ("<td width=\"126\" background=\"http://myjavaserver.com/~myelf/pic/tab.gif\"><div align=\"center\">" + date + "</div></td>");
output.println ("</tr>");
output.println ("</table>");
moreRecords = rs.next ();
if (!moreRecords)
output.println ("<I><B>There are no this records in message board.</B></I>");
else
{
ID = 1;
while (moreRecords)
{
user = rs.getString ("Username");//get username
message = rs.getString ("Message");//get message
time = rs.getString ("LeaveTime");//get time
if ( username.equals(user))//determine who leave the message
{
output.println ("<table width=\"745\" height=\"16\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" background=\"http://myjavaserver.com/~myelf/pic/tab.gif\">");
output.println ("<tr>");
output.println ("<th height=\"16\" colspan=\"2\" background=\"http://myjavaserver.com/~myelf/pic/bg1.gif\" scope=\"col\"> </th>");
output.println ("</tr>");
output.println ("</table>");
output.println ("<table width=\"745\" height=\"83\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">");
output.println ("<tr>");
output.println ("<th width=\"169\" scope=\"col\">No." + ID + "</th>");
output.println ("<th width=\"568\" scope=\"col\"><div align=\"right\">Message Leave At: " + time + "</div></th>");
output.println ("</tr>");
output.println ("<tr>");
output.println ("<th height=\"57\" scope=\"row\"><font color=\"blue\">" + user + "</font></th>");
output.println ("<td><font color=\"blue\">" + message + "</font></td>");
output.println ("</tr>");
output.println ("</table>");
}
else
{
output.println ("<table width=\"745\" height=\"16\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" background=\"http://myjavaserver.com/~myelf/pic/tab.gif\">");
output.println ("<tr>");
output.println ("<th height=\"16\" colspan=\"2\" background=\"http://myjavaserver.com/~myelf/pic/bg1.gif\" scope=\"col\"> </th>");
output.println ("</tr>");
output.println ("</table>");
output.println ("<table width=\"745\" height=\"83\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">");
output.println ("<tr>");
output.println ("<th width=\"169\" scope=\"col\">No." + ID + "</th>");
output.println ("<th width=\"568\" scope=\"col\"><div align=\"right\">Message Leave At: " + time + "</div></th>");
output.println ("</tr>");
output.println ("<tr>");
output.println ("<th height=\"57\" scope=\"row\">" + user + "</th>");
output.println ("<td>" + message + "</td>");
output.println ("</tr>");
output.println ("</table>");
}
ID++;
moreRecords = rs.next ();
}
output.println ("<p> </p>");
output.println ("<p> </p>");
output.println ("</form>");
}
output.println ("</body>");
output.println ("</html>");
output.close ();
}
public void ErrorMessage (HttpServletResponse response,String message)
throws ServletException, IOException
{
PrintWriter output;
response.setContentType ("text/html");
output = response.getWriter ();
output.println ("<HTML><HEAD><TITLE>Error</TITLE></HEAD><BODY>");
output.println ("<H1>" + message + "</H1></BODY></HTML>");
output.println("<a href = javascript:history.back()>BACK</a>");
output.close ();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -