前提:局域网,公用一个数据库,实时刷新(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;"/>