jsp中运用application实现共享留言板功能
jsp中application的知识点总结:
1.一个Web应用程序启动后,将会自动创建一个application对象,在整个应用程序的运行过程中只有这一个application对象,即所有访问该网站的客户都共享一个application对象。
2.作用:在整个应用运行期间保存共享数据,实现用户间数据的共享。
3.application对象的生命周期:从Web服务器启动,直到Web服务器关闭。
application对象是应用程序级的,如果application中不存在String name,则通过方法Object getAttribute(String name)获得的对象时null。
在同一个网站下的任何地方都可以对application对象进行操作,主要操作有两个,即下面的两个方法:
Object getAttribute(String name) 从 application对象中提取指定的对象。
void setAttribute(String name,Object value) 将对象添加到application对象中。
本应用的基本介绍:
通过application,实现共享留言板功能,效果图如下:
inputMessage.jsp:
- <%@ page language="java" import="java.text.*,java.util.*"
- contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- <style>
- #form2 input {
- color: green;
- font-weight: bold;
- }
- </style>
- </head>
- <body bgcolor="#abcdef">
- <form action="checkMessage.jsp" method="post">
- 请输入姓名: <input type="text" name="name" /><br> 请输入标题: <input
- type="text" name="title" /><br> 请输入内容:
- <textarea cols="40" rows="10" name="message"></textarea>
- <br> <br> <br> <input type="submit" value="留言" />
- </form>
- <br>
- <form id="form2" action="showMessage.jsp" method="post">
- <input type="submit" value="查看留言板" />
- </form>
- </body>
- </html>
checkMessage.jsp:
- <%@ page language="java" import="java.text.*,java.util.*"
- contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- </head>
- <body bgcolor="#abcdef">
- <%!Vector<String> v = new Vector<String>();
- int i = 0;%>
- <%
- String datetime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(Calendar.getInstance().getTime()); //获取系统时间
- %>
- <%
- request.setCharacterEncoding("utf-8");
- String name = request.getParameter("name");
- String title = request.getParameter("title");
- String message = request.getParameter("message");
- %>
- <%
- if (name == null || "".equals(name.trim())) {
- //trim()主要解决里面只有空格的问题
- name = " 网友" + (int) (Math.random() * 100000 + 10000);
- }
- if (title == null || "".equals(title.trim())) {
- title = " 无";
- }
- if (message == null || "".equals(message.trim())) {
- message = " 无";
- }
- %>
- <%
- i++;
- String str = "第" + "<span class=span0>" + i + "</span> " + "楼 "
- + ".<span class=span1>留言人: </span>" + name + ".<span class=span2>标题: </span>" + title
- + ".<span class=span3>内容: </span><br> " + message
- + ".<span class=span4>时间: </span> " + datetime + ".<hr>";
- v.add(str);
- application.setAttribute("message", v);
- %>
- 留言成功.
- <a href="inputMessage.jsp">返回留言板</a>
- </body>
- </html>
showMessage.jsp:
- <%@page
- import="com.sun.org.apache.xml.internal.serializer.utils.StringToIntTable"%>
- <%@ page language="java" import="java.util.*"
- contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- <style>
- body {
- background: RGBA(38, 38, 38, 1);
- }
- div {
- width: 800px; //
- border: 1px solid RGBA(100, 90, 87, 1);
- color: white;
- }
- span {
- font-size: 20px;
- font-weight: bold;
- }
- .span0 {
- color: red;
- font-size: 25px;
- }
- .span1 {
- color: green;
- }
- .span2 {
- color: orange;
- }
- .span3 {
- color: green;
- }
- .span4 {
- color: red;
- }
- </style>
- </head>
- <body>
- <div>
- <%
- Object o = application.getAttribute("message");
- if (o == null) {
- out.print("暂时还没有留言呢");
- } else {
- Vector<String> v = (Vector<String>) o;
- for (int i = v.size() - 1; i >= 0; i--) {
- // 注意必须用/. String[] st1 = v.get(i).split("/.");
- // for (int j = 0; j < st1.length; j++) {
- // out.print(st1[j] + "<br>");
- // }
- // out.print("<br>");
- StringTokenizer st = new StringTokenizer(v.get(i), ".");
- while (st.hasMoreElements()) {
- out.print(st.nextToken() + "<br>");
- }
- }
- }
- %>
- </div>
- </body>
- </html>
jsp中运用application实现共享留言板功能的更多相关文章
- Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql
在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至 ...
- 利用反馈字段给帝国cms添加留言板功能(图文教程)
帝国cms的插件中提供信息反馈字段,很多人却不会用.这里谢寒教大家如何来给自己的帝国cms网站添加留言板功能 1.找到添加地址 2.添加字段 3.你可以在字段中添加多种字段类型(有文本域,单行文本框, ...
- php实现留言板功能
这个小小的留言板功能适合班级内或者公司内部之间的讨论,对话和留言,非常的方便,更重要的是无需网络,对于公司管理层来说是非常乐于常见的, 下面是这个留言板的写法: 1 首先是登录页面: <form ...
- 使用PHP连接数据库实现留言板功能
PHP实现留言板功能: 1 首先是登录页面: <!DOCTYPE html><html> <head> <meta charset=&qu ...
- JS原生编写实现留言板功能
实现这个留言板功能比较简单,所以先上效果图: 实现用户留言内容,留言具体时间. <script> window.onload = function(){ var oMessageBox = ...
- 原生JS实现简单留言板功能
原生JS实现简单留言板功能,实现技术:css flex,原生JS. 因为主要是为了练手js,所以其中布局上的一些细节并未做处理. <!DOCTYPE html> <html lang ...
- jsp 用application对象制作留言板
<%@ page contentType="text/html; charset=gb2312"%> <html> <body> <for ...
- jsp中 scope="application" 表示
jsp中 <jsp:useBean id="countbean" scope="application" class="count.counte ...
- wordpress中page页添加非插件留言板功能
把下面的代码插入到page页面中即可 <!-- 留言板 --> <div class="wrap"> <div id="primary&qu ...
随机推荐
- MyBatis-NET
http://www.codeproject.com/Articles/894127/MyBatis-NET https://mybatis.github.io/mybatis-3/
- C#中语音合成简单使用
我使用的是vs2013 1.在项目中添加引用,项目->添加引用->COM选择Microsoft Speech Object Library 2.在需要使用语音合成的地方调用代码: SpVo ...
- kinect driver install (ubuntu 14.04 & ros-indigo)
kinect driver 安装过程: 1.在ubuntu上安装kinect驱动比较繁琐,需要安装以下3个驱动包, OpenNI-Bin-Dev-Linux-x64-v1.5.7.10 NITE-Bi ...
- flask_用户信息和头像
一.用户信息页 1.创建视图函数(microblog.py) @app.route('/user/<nickname>') @login_required def user(nicknam ...
- Win7 64位 VS2015环境编译cegui-0.8.5
首先是去官网下载源码与依赖库 http://cegui.org.uk/ 然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对 ...
- 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
转载的服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
- Xamarin studio配置问题
最近对Xamarin很感兴趣,就下班抽空在家里的电脑上进行配置,于是乎出现了各种问题,对此进行总结. 1. Cannot find `aapt.exe`. Please install the And ...
- PCB设计检查表
PCB设计检查表 一.确保PCB网表与原理图描述的网表一致 二.布局大致完成后需检查 外形尺寸 确认外形图是最新的 确认外形图已考虑了禁止布线区.传送边.挡条边.拼板等问题 确认PCB 模板是最新的 ...
- Python socket (多线程)
Server 端 code import SocketServer class MyTCPHandler(SocketServer.BaseRequestHandler): ""& ...
- [spark案例学习] WEB日志分析
数据准备 数据下载:美国宇航局肯尼迪航天中心WEB日志 我们先来看看数据:首先将日志加载到RDD,并显示出前20行(默认). import sys import os log_file_path =' ...