servlet怎么从javabean得到表格数据 然后再传给jsp
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet怎么从javabean得到表格数据 然后再传给jsp相关的知识,希望对你有一定的参考价值。
我有个javabean查询一个表格的所有信息,想传给servlet 是用String[][]类型返回?而jsp有怎么获取servlet的二维数组数据?
一般是这样做在JavaBean中写一个 获取数据库数据的业务逻辑方法
方法的返回值是数据的集合 也就是一个List
在Servlet中通过调用JavaBean的这个业务逻辑方法获取到这个List
这样就相当于从JavaBean传递数据【其实是返回值】到Servlet了
从Servlet把数据传递给JSP页面
在Servlet中获取到返回值List后,使用一个方法叫request.serAttribute("属性名",List);将获得的东西相当于共享给JSP页面。
在JSP页面中通过request.getParameter("属性名");来获取Servlet共享的List数据。
像你说的是查询一个表格,其实不管是你查询表格还是数据库表,查询到什么,就返回什么。
查询到INT就返回INT 查询到String就返回String 查询到一个二维数据就返回一个二维的数组。
打了这么多字。望采纳!追问
(ArrayList)(request.getAttribute("table")).get(i) 获取报错怎么回事呢
追答你先将request.getAttribute("table")打印出来看看是否为空
再把数据类型确定了 是ArrayList类型吗 一般都是返回的(List) 吧
最好是报了什么错
把错误贴出来啊
现在的问题是这样了:我servlet中有个String[]类型的数据。怎么传到jsp中 我是这样写的 但编译通过不了
第十二行报错
for(int i=0;i<5*row;i++)
getParam[i]=(([]String)(session.getAttribute("table")))[i];
一个一个遍历也不行
好像不是session.getAttribute("XXX")
好像是request.getSession().getAttribute("XXX")
只有通过request.getSession()才能得到session的
你在页面间获取数据的时候 最好看看有没有获取到数据 再对获取的数据操作
不然很容易出现空指针
还有如果只是两个页面之间传递数据 用request范围的属性就可以了 不用用session的
望采纳啊望采纳~~~
调用数据操作类,取出javaBean的数据存入一个集合
然后传递给jsp, 方式有两种:
一:存入会话中,jsp通过隐式对象,用EL表达式取出数据
二:response.getWriter().out("json数据"); 通过Ajax 接受
jsp+servlet+javaBean+Dao
一、Servlet程序各模块介绍
1.JSP 用于显示、收集数据的部分。
2.Servlet 用于验证数据、实例化JavaBean、调用DAO连接数据库、控制页面跳转
3.DAO 用于连接数据库及进行数据库的操作如:查询、删除、更改等
4.JavaBean 用于数据的封装,方便将查询结果在servlet与jsp页面之间进行传递等
5.servlet过滤器 它能够在一个request到达servlet之前预处理request,也可以在离开servlet时处理response
6.servlet监听器 监听Web的各种操作,当相关的操作触发后将产生的事件,并对此事件进行处理
以上 1,2,3,4部分共同构成了MVC模式,JSP为MVC模式当中的V,Servlet为C,DAO与JavaBean合在一起为M。
二、模式运行流程:
用户首先打开一个JSP页面,这个JSP页面用于收集用户输入的数据(使用Form表单实现),当用户单击提交按钮时,此JSP页面被提交到对应的Servlet,此时工作转向Servlet。Servlet将提交到的数据进行处理,处理过程如下:
1、(可选)对数据进行合法性验证、乱码处理等
2. 实例化DAO,调用DAO的方法(进行数据库数据的更新查询操作)
3. 将DAO返回的数据进行保存,保存的位置可选(request,session等)
4. 进行页面的跳转
在Servlet调用DAO的方法过程中,DAO的处理过程如下:
1. 连接数据库(这些操作可以放在DAO的构造函数当中,也可以写成单独的方法)
2. 处理查询方法,这里给出基本步骤。先按查询语句及传过来的参数进行数据库的查询得到一个ResultSet结果集,为了方便将结果返回给Servlet及方便后面的显示,现将结果进行封装并以ArraryLis或者JSON串,xml串等等t的形式返回给servlet。为了进行数据的封装,这里就需要实例化一个JavaBean,这个JavaBean的字段与数据库表当中的字段一一对应,并为各个字段添加get(),set()方法。
Serlvet在得到数据后,再将页面进行跳转,此时数据已保存下来。我们可以在另外一个JSP页面当中将数据提取出来,并按一定的格式进行排列。至此,一个完整的查询操作就完成了。
此操作虽然比较简单,但是却充分体现了MVC模式的思想。
以上是关于servlet怎么从javabean得到表格数据 然后再传给jsp的主要内容,如果未能解决你的问题,请参考以下文章
javabean+jsp+servlet+jdbc从软件安装到开发实例
编一套程序 基于JSP+JavaBean+Servlet的学生管理系统 怎么做?
jsp中连接数据库,可以直接写在JSP文件里,也可以,写在javabean,和servlet中,哪一种方法更好一些