利用ServeltConText制作留言板
2016-07-21 00:18
447 查看
ServletContext是伴随着整个Web服务器运行阶段的:
对于所有的浏览器请求,都是可以通过requset获取ServletContext的
可以通过设置set/getAttribute()来获取保存留言
代码:
对于所有的浏览器请求,都是可以通过requset获取ServletContext的
可以通过设置set/getAttribute()来获取保存留言
代码:
public class MyConTextServlet 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 { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>访问量及留言</TITLE></HEAD>"); out.println(" <BODY>"); ServletContext context=getServletContext(); Object o=context.getAttribute("count"); int count=0; if(o==null){ }else{ count=(Integer)o; } count++; out.print("网页访问量:"+count+"<br/>"); context.setAttribute("count", count); o=context.getAttribute("msgs"); Map<String,String> map=null; if(o==null){ map=new TreeMap<String,String>(new MyComp<String>()); }else{ map=(Map<String, String>)o; String ip=request.getRemoteAddr(); DateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String userMsg=format.format(new Date())+" "+ip; String msg=request.getParameter("text"); if(msg!=null){ out.println(userMsg+":"); out.println("<br/>"); out.println(msg); out.println("<br/>"); } Set<Entry<String, String>> set=map.entrySet(); Iterator<Entry<String, String>> it=set.iterator(); while(it.hasNext()){ Entry<String, String> en=it.next(); out.println(en.getKey()); out.println("<br/>"); out.println(en.getValue()); out.println("<br/>"); } if(msg!=null) map.put(userMsg, msg); } context.setAttribute("msgs", map); out.print("<form action='MyConTextServlet' method='post'>"); out.print("留言:<input type='text' name='text'/>"); out.print("<input type='submit' value='提交'></form>"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } } class MyComp<E> implements Comparator<E>{ //比较器o1为后加对象 @Override public int compare(E o1, E o2) { if(o1 instanceof String&&o2 instanceof String){ String str1=((String)o1).split(" ")[0]; String str2=((String)o2).split(" ")[0]; DateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); try { Date d1=format.parse(str1); Date d2=format.parse(str2); if(d1.after(d2)){ return -1; }else{ return 1; } } catch (ParseException e) { e.printStackTrace(); } } return -1; } }
相关文章推荐
- ASP开发基于XML的留言板
- asp有效防止网站留言板出现垃圾留言/评论实现思路
- wma tag 批量修改[原代码-从wmfsdk中修改]
- 网站被黑后的处理方法及批量删除恶意代码
- 再谈反向链接,又学了东西
- 大家要经常更新内容啊-针对百度的原创收录速度测试
- jsp 定制标签(Custom Tag)
- DEDECMS TAG伪静态 IIS_rewrite配置方法附rewrite下载
- 个人经验总结:网站被百度“拔毛”如何恢复?
- ServletContext中常用方法介绍
- js使用DOM操作实现简单留言板的方法
- JSP自定义分页标签TAG全过程
- 网站优化细节之服务器的选择真没见过
- php+ajax实现无刷新的新闻留言系统
- jQuery实现tag便签去重效果的方法
- JS+CSS模拟可以无刷新显示内容的留言板实例
- php实现网站留言板功能
- 3种高效的Tags标签系统数据库设计方案分享
- Javascript让DEDECMS告别手写Tag
- php简单的留言板与回复功能具体实现