jsp制作简易留言版
2017-02-17 22:14
183 查看
1:
学习目标
理解application
知识点:
1:vector类
这个就是实现数组的类
要使用这个类要在jsp页面加入这个
<%@ page import="java.util.*"%>
常用方法如下:
Boolean add(Object e)
这个方法是将指定元素添加到末尾,有顺序的,e就是要添加的
==========
Object elementAt(int index)
index表示一个索引,取值范围在0和vector.size()之间的任意整数
===
自我理解,第一个方法可以添加内容,而第二个方法就是可以获取我们想要的内容,类似于一个书架,我们想取哪本书
=============
代码实现
==
2:
application对象
常用方法
getAttribute(String name)
setAtrribute(String name,Object object)
这个两个方法类似与session的方法,session也有这两个方法
两者联系起来无非就是创建与设置,想要输入框与application有联系,就必须创建然后获取
比如
<input type="text" name="Mess">
这个时候转为application就需要上面2个方法
Vector v=(Vector)application.getAttribute("Mess");
而vector是类似于数组,两者结合如何使用呢
1:
首先创建一个vector对象,结合application获取input属性
Vector v=(Vector)application.getAttribute("Mess");
然后循环遍历
for(int i=0; i<v.size();i++)
然后用Object elementAt(int index)方法
{
String message=(String)v.elementAt(i);//取出内容字符串,给这个变量一个名字,比如他是盒子(数组)里的红球,我们就戴着手套(message)
把他取出来,而i就相当于这个方法的索引,也就是我们需要的内容(红球)
}
================
3:
StringTokenizer类
这个类字面理解就是分解字符串
方法
StringTokenizer(String s)
这个方法就是一个盒子,里面装有很多东西,比如空格符,换行符等等
2:
StringTokenizer(String s,String delim)
这个就只有一个分割符
使用如下
当我们取出红球之后,就要脱下手套,用篮子代替
StringTokenizer fenxi=new StringTokenizer(message,"#");//将字符串用#进行分割
接着如何输出分割后的内容,当我们拿出红球之后,必须要一个桌子(while循环)来展示
所以
while(fenxi.hasMoreTokens){
String str=fenxi.nextToken();//肯定不止一个小红球,所以我们就用建一个管子(str),下一个球就流进去
byte a[] str.getBytes("ISO-8859-1");//byte是一个字节,创建一个字节数组,然后得到我们内容的字节,转换格式
str=new String(a);//创建一个字符串对象
out.print("<br>"+str)
}
===========================
留言板想要获取日期
SimpleDateFomat类
常用方法
SimpleDateFormate(String pattern)
这个方法表示默认的日期格式
StringBuffer format(Date date,StringBuffer toAppendTo,FieldPosition pos)
这个方法就比较灵活
将给的的格式转换为日期/时间格式
然后将结果添加到给定的StringBuffer
具体使用
首先创建一个对象
Date messageDate=new Date();
SimpleDateFormat myformat=new SimpleDateFormat("yyy-MM-dd hh:mm:ss");
String messtime= myformat.format(messageDate);
自我理解,创建这个方法有了日期,就用让他相当于字符串显示出来,于是就调用format这个方法,首先要让系统识别是时间,所依把date放进去
=============
2:
难点突破
实现一个留言板
一个UI界面,一个逻辑页面,一个展示出来的界面
逻辑界面主要用数组(Vector),然后结合application连接起来,还要用elementAt(i)的方法将内容循环的内容变成索引
接着用StringTokenizer分割符的方法,获取内容
获取了内容然后转换为电脑可以识别的字符byte
获取了内容如何展示呢?
show.jsp
3:
具体实现
实现过程中程序报错
1:Unchecked cast from Object to Vector<String>类型转换错误
2: Vector is a raw type. References to generic type Vector<E> should be---=应该用泛型
parameterized
===
Vector<String> v =(Vector<String>)application.getAttribute("message");//两者有了联系 //
这个代码报错
rows是vector<String>对象,里面只能存放String类型
所以
index代码
<center>简易留言板<br><hr>
<form action="admin.jsp" method="post">
<table border="1" bgcolor="pink">
<tr><td>标题</td><td><input type="text" name="title" ></td></tr>
<tr><td>发言人</td><td><input type="text" name="author" ></td></tr>
<tr><td>留言内容</td><td><textarea name="message" rows="5" cols="20"></textarea></td></tr>
<tr><td colspan="2"><center><input type="submit" name="submit" value="提交"></center></td></tr>
</table>
</form>
</center>
======
逻辑代码
<%
String message=String.valueOf(request.getParameter("message"));//这个是输入文本框的值
application.setAttribute("m",message);
@SuppressWarnings("unchecked")
Vector<String> v =(Vector<String>)application.getAttribute("m");//两者有了联系 //
for(int i=0; i<v.size();i++){
String messagefor=(String)v.elementAt(i);//还要用elementAt(i)的方法将内容循环的内容变成索引
//接着用StringTokenizer分割符的方法,获取内容
StringTokenizer fenxi=new StringTokenizer(messagefor,"#");
//要获取内容还要用while循环
while(fenxi.hasMoreElements()){
String str=fenxi.nextToken();//要获取下一个的值
byte a[] =str.getBytes("ISO-8859-1");
str=new String(a);
out.print("<br>"+str);
}
}
%>
==============
【Vector<String> v =(Vector<String>)n;//两者有了联系 //】这行报错待解决
报错
ype safety: Unchecked cast from Object to Vector<Object>
对象类型不匹配
解决
在Vector<Object> v =(Vector<Object>)application.getAttribute("m");之前加上一句
@SuppressWarnings("unchecked")======这个表示忽略的意思
学习目标
理解application
知识点:
1:vector类
这个就是实现数组的类
要使用这个类要在jsp页面加入这个
<%@ page import="java.util.*"%>
常用方法如下:
Boolean add(Object e)
这个方法是将指定元素添加到末尾,有顺序的,e就是要添加的
==========
Object elementAt(int index)
index表示一个索引,取值范围在0和vector.size()之间的任意整数
===
自我理解,第一个方法可以添加内容,而第二个方法就是可以获取我们想要的内容,类似于一个书架,我们想取哪本书
=============
代码实现
==
2:
application对象
常用方法
getAttribute(String name)
setAtrribute(String name,Object object)
这个两个方法类似与session的方法,session也有这两个方法
两者联系起来无非就是创建与设置,想要输入框与application有联系,就必须创建然后获取
比如
<input type="text" name="Mess">
这个时候转为application就需要上面2个方法
Vector v=(Vector)application.getAttribute("Mess");
而vector是类似于数组,两者结合如何使用呢
1:
首先创建一个vector对象,结合application获取input属性
Vector v=(Vector)application.getAttribute("Mess");
然后循环遍历
for(int i=0; i<v.size();i++)
然后用Object elementAt(int index)方法
{
String message=(String)v.elementAt(i);//取出内容字符串,给这个变量一个名字,比如他是盒子(数组)里的红球,我们就戴着手套(message)
把他取出来,而i就相当于这个方法的索引,也就是我们需要的内容(红球)
}
================
3:
StringTokenizer类
这个类字面理解就是分解字符串
方法
StringTokenizer(String s)
这个方法就是一个盒子,里面装有很多东西,比如空格符,换行符等等
2:
StringTokenizer(String s,String delim)
这个就只有一个分割符
使用如下
当我们取出红球之后,就要脱下手套,用篮子代替
StringTokenizer fenxi=new StringTokenizer(message,"#");//将字符串用#进行分割
接着如何输出分割后的内容,当我们拿出红球之后,必须要一个桌子(while循环)来展示
所以
while(fenxi.hasMoreTokens){
String str=fenxi.nextToken();//肯定不止一个小红球,所以我们就用建一个管子(str),下一个球就流进去
byte a[] str.getBytes("ISO-8859-1");//byte是一个字节,创建一个字节数组,然后得到我们内容的字节,转换格式
str=new String(a);//创建一个字符串对象
out.print("<br>"+str)
}
===========================
留言板想要获取日期
SimpleDateFomat类
常用方法
SimpleDateFormate(String pattern)
这个方法表示默认的日期格式
StringBuffer format(Date date,StringBuffer toAppendTo,FieldPosition pos)
这个方法就比较灵活
将给的的格式转换为日期/时间格式
然后将结果添加到给定的StringBuffer
具体使用
首先创建一个对象
Date messageDate=new Date();
SimpleDateFormat myformat=new SimpleDateFormat("yyy-MM-dd hh:mm:ss");
String messtime= myformat.format(messageDate);
自我理解,创建这个方法有了日期,就用让他相当于字符串显示出来,于是就调用format这个方法,首先要让系统识别是时间,所依把date放进去
=============
2:
难点突破
实现一个留言板
一个UI界面,一个逻辑页面,一个展示出来的界面
逻辑界面主要用数组(Vector),然后结合application连接起来,还要用elementAt(i)的方法将内容循环的内容变成索引
接着用StringTokenizer分割符的方法,获取内容
获取了内容然后转换为电脑可以识别的字符byte
获取了内容如何展示呢?
show.jsp
3:
具体实现
实现过程中程序报错
1:Unchecked cast from Object to Vector<String>类型转换错误
2: Vector is a raw type. References to generic type Vector<E> should be---=应该用泛型
parameterized
===
Vector<String> v =(Vector<String>)application.getAttribute("message");//两者有了联系 //
这个代码报错
rows是vector<String>对象,里面只能存放String类型
所以
index代码
<center>简易留言板<br><hr>
<form action="admin.jsp" method="post">
<table border="1" bgcolor="pink">
<tr><td>标题</td><td><input type="text" name="title" ></td></tr>
<tr><td>发言人</td><td><input type="text" name="author" ></td></tr>
<tr><td>留言内容</td><td><textarea name="message" rows="5" cols="20"></textarea></td></tr>
<tr><td colspan="2"><center><input type="submit" name="submit" value="提交"></center></td></tr>
</table>
</form>
</center>
======
逻辑代码
<%
String message=String.valueOf(request.getParameter("message"));//这个是输入文本框的值
application.setAttribute("m",message);
@SuppressWarnings("unchecked")
Vector<String> v =(Vector<String>)application.getAttribute("m");//两者有了联系 //
for(int i=0; i<v.size();i++){
String messagefor=(String)v.elementAt(i);//还要用elementAt(i)的方法将内容循环的内容变成索引
//接着用StringTokenizer分割符的方法,获取内容
StringTokenizer fenxi=new StringTokenizer(messagefor,"#");
//要获取内容还要用while循环
while(fenxi.hasMoreElements()){
String str=fenxi.nextToken();//要获取下一个的值
byte a[] =str.getBytes("ISO-8859-1");
str=new String(a);
out.print("<br>"+str);
}
}
%>
==============
【Vector<String> v =(Vector<String>)n;//两者有了联系 //】这行报错待解决
报错
ype safety: Unchecked cast from Object to Vector<Object>
对象类型不匹配
解决
在Vector<Object> v =(Vector<Object>)application.getAttribute("m");之前加上一句
@SuppressWarnings("unchecked")======这个表示忽略的意思
相关文章推荐
- [置顶] JSP+Servlet+JavaBean传统方式实现简易留言板制作(注册、登录、留言)
- Vue制作简易留言板!
- 用jsp制作一个留言板
- PS CS6中如何制作简易GIF动画图片
- 制作简易的论坛
- 如何使用 JSP JSTL 显示/制作树(tree) 菜单
- C#如何制作Excel?【C#简易Excel表格制作方法】
- 制作html简易个人主页
- 制作一个简易的网页,用不同的颜色区分头部、内容以及底部,在滚动页面的过程中,底部保持不变。
- C#制作简易屏保[转]
- JavaScript -- 制作简易瀑布流
- jsp留言本 jsp课程设计
- 使用PHP制作 简易员工管理系统之四(完善主界面以及显示员工信息)
- VC制作简易flash播放器
- ppt高级动画教程:ppt片头威尼斯人动画制作简易技巧
- 摄影DIY 用鞋盒制作简易大画幅相机
- 如何制作简易菜单?
- 用css/html制作简易bookstore网页
- 可以在家庭DVD影碟机上播放的HDVD光盘简易制作步骤
- PHP小实例-制作留言本 .