⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.java

📁 一个用java servlet写的留言板
💻 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\">&nbsp;</th>");
      output.println ("<th width=\"47\" valign=\"bottom\" scope=\"col\">&nbsp;</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>&nbsp;</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\">&nbsp;</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\">&nbsp;</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\">&nbsp;</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>&nbsp;</p>");
            output.println ("<p>&nbsp;</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 + -