1. 程式人生 > >在頁面上輸入文字資訊,區域網內電腦連線的LED大屏上就會顯示文字資訊

在頁面上輸入文字資訊,區域網內電腦連線的LED大屏上就會顯示文字資訊

前提:區域網,公用一個數據庫,實時重新整理(js程式碼)

思路:

1.在一個文字框內(編輯通知資訊)輸入資訊,點選一下提交,後臺就執行插入資料庫操作

2.這個頁面是每分鐘重新整理一次,通知欄就會呼叫資料庫裡面的內容,從而顯示在LED上面

3 這個頁面是專門給領導用的,不實現重新整理,只有led大螢幕電腦才實現每分鐘重新整理一次!

4 我利用了一個錯覺,web區域網釋出,只要公用一個數據庫及可以了。哈哈哈!!

方案一:

 

有人會問,為什麼不直接顯示在第一個文字框裡面?

看看這個,LED有一個框,放在那裡就會顯示內容

 

方案二:

單獨設立一個頁面輸入通知欄資訊

點選提交實現的是更新資料庫操作

然後在led投射框裡面查詢資料庫顯示文字就可以了,因為那個頁面是每隔1分鐘呼叫

比較了兩個方案;我覺得第二個好些;

程式碼如下:

servlet(簡單的實現通知欄的資訊和當前時間儲存到資料庫)

package cn.com.servlet;
import java.io.IOException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.print.Doc;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.com.jdbc.JdbcUtils_DBCP;
public class Alter_Led extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
          doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
           //編輯通知欄資訊
		//1.接受資訊,執行插入資料庫操作,把當前時間插入進去,然後查詢的時候查詢最新的資料
	       Date da=new Date();
		   //String 型別轉化為Date型別
		   SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
		   String time=formatter.format(da);
		   String text=request.getParameter("text");
		   text = URLEncoder.encode(text, "ISO-8859-1");
		   text = URLDecoder.decode(text, "UTF-8");
		   Connection conn=null;
			try {
				//連線資料庫
				conn =  JdbcUtils_DBCP.getConnection();
				PreparedStatement st=null;	
				 String sql="insert into led values(?,?)";
				 st=conn.prepareStatement(sql);
				 st.setString(1, text);
				 st.setString(2, time);
				 st.executeUpdate();
				 response.sendRedirect("/Socket/out_LED.jsp"); 
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		
	}

}

 在LED框裡面實現更新查詢最新的資料就可以了

//查詢通知欄裡面的內容最新的
			String sql="select * from led order by time desc limit 1";
			String text=null;
			try {
				Connection conn3=JdbcUtils_DBCP.getConnection();
				PreparedStatement st3=conn3.prepareStatement(sql);
				ResultSet rs3=st3.executeQuery();
				if(rs3.next()){
					 text=rs3.getString(1);
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			request.setAttribute("text", text);
			request.getRequestDispatcher("inform_LED.jsp").forward(request, response);

 jsp程式碼如下:

js程式碼:

 <script type="text/javascript">
  function dtime(){
  setInterval(sub(), 60000);
  }
  function sub(){
      document.getElementById("frm").submit();
  }
  </script>

jsp部分程式碼:

<input type="text" placeholder="通知欄" value=${text } name="text" style="width:100%;height: 13%;font-size: 12px;"/>