JSP+Servlet 页面加载时请求数据库,获取信息并显示到页面上,如何处理?求指教!

(网上好多都是用struts框架,然而还没学到那里去)
例如,图书管理系统有一个还书页面,要求用户无论通过什么方式(借书后能跳转过去;导航栏选择还书;直接网址栏里面输入……)进入到该页面时,立即请求数据,返回该用户的借书信息并以表格的方式显示在还书页面中。

主要是页面加载的问题
后台查询可调用方法 public static List<BorrowedBookInfo> selectBorrowedBooks(User user);user在登录后会被传到session的User属性中,直接用就是了。
下面有个还书页面的草图(黑框框表示checkbox)

请大神指教!
还有,如果有大神附上代码,请把Java代码和JSP代码分离。

兄弟,我想说你理解上有错误,想要在jsp页面显示数据库数据,一般是先到一个servlet进行取数据处理,把取到的数据设到request中去,然后请求转发到jsp页面,jsp页面通过el表达式即可获取数据,你要记住这个流程。而不是你说的进入到该页面时,立即请求数据。没有必要进入到页面在请求数据,只需要在进入页面之前取出数据即可。理解了这个过程非常重要,对以后框架的学习也很有帮助,除了这个过程之外,还有一个和这个相反的过程就是从页面输入数据然后插入到数据库之中,这个过程和上面的那个过程完全相反,就是想到数据输入的jsp页面,输入完成之后提交表单到特定的servlet,servlet进行具体的插入操作追问

谢谢指教!
现在我对于第一句话还有点问题:我怎么在进入一个jsp页面时先进入servlet?
当我使用request.setAttribute("xxx","object");request.getDispatcher("x.jsp").forword(re,res)时,我怎么判断这个request是给这个x.jsp页面的?需不需要单独写一个servlet?

追答

这样给你说吧,比如你点击了还书这个超链接,超链接你不要写x.jsp,而应该写某个servlet 的url,这个servlet 进行查询数据库处理,把得到的数据设置到request 之后进行forword跳转,forword之前写了哪个jsp页面,request 就是给哪个jsp页面的,这看起来是不是像在跳转到jsp页面之前加上了一层数据处理的功能,这就是著名的mvc设计理念中的控制层了

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-30
感觉你是想让人帮你把代码全部写出来啊,鬼大爷来帮忙写一个小功能.....追问

有代码肯定是极好的。
没代码的话请把思路详细描述一下,尤其是页面加载时请求数据并显示要怎么来做?

追答

    无论什么方式进入:跳转到方法而已

  2.  controller调用service方法,方法中调用selectBorrowedBooks方法,将这个                  List<BorrowedBookInfo>  list 放置到model中去model.setAttri....("lists",list )

  3. jsp使用for each标签循环,展示即可。大概是这样的,其中的单选框之类的,拼进<td>

     就行。 

    <c:forEach items="${lists}" var="BorrowedBookInfo">

        <tr>

            <td>

                ${BorrowedBookInfo.属性(bookname)}

            </td>

            <td>

            ${BorrowedBookInfo.属性(price)}

            </td>

        </tr>

        .

        .

        .

</c:forEach>


  4。上面的包在一个table中,还书的时候获取选中的行的信息,主要是Id们,传到后台处理,在跳转这个页面就可以了



好累,自己的代码都没有写完


不采纳???

JSP+Servlet 页面加载时请求数据库,获取信息并显示到页面上,如何处理...
没有必要进入到页面在请求数据,只需要在进入页面之前取出数据即可。理解了这个过程非常重要,对以后框架的学习也很有帮助,除了这个过程之外,还有一个和这个相反的过程就是从页面输入数据然后插入到数据库之中,这个过程和上面的那个过程完全相反,就是想到数据输入的jsp页面,输入完成之后提交表单到特定的s...

用servlet&JSP技术 怎么在进入index.jsp自动从数据库取数据. 页面上不...
所以你在进入index.jsp之前就吧数据取到了,在load这个servlet里写取数据的代码就行了。

网页页面怎么做到一加载页面就把数据.从数据库里面读出来,显示在页面上...
用jsp实现数据库的读取可以实现,不过不建议使用,因为在平时程序开发中最忌讳的就是内存的浪费,用jsp提取数据库中的数据对于服务器而言是一种负担;用servlet在初始化时实现对频繁使用数据的提取才是上策。

...保存到数据库,从数据库中提取,显示到页面 这四步 我想问第一步,怎 ...
\/\/ 处理多个文件的上传 for(int i = 0;i < su.getFiles().getCount();i++){ com.jspsmart.upload.File file = su.getFiles().getFile(i);if(!file.isMissing()){ \/\/ 如果文件有效 \/\/ 保存文件到指定上传目录 file.saveAs("\/upload\/new."+file.getFileExt(), su.SAVE_VIRTUAL);cou...

jsp+servlet框架中怎样显示发布时间的用什么方法
1、使用直接在JSP页面显示当前时间。这种方法简单,但是显示的时间是页面加载时的时间,不是实际发布时间。2、在Servlet中获取当前时间,存储在数据库中,在JSP页面从数据库获取显示。3、在Servlet中使用SimpleDateFormat格式化当前时间为字符串,存储在请求域或会话域中,在JSP页面获取显示。

用servlet和jsp编写用户登录页面,并在返回给客户端的页面上,显示登录时...
import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Test extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ...

我在登陆时,输入我的名字,怎样获得我的信息.并把它显示到这个页面上
第一种,利用javascript获得表单信息写入一个变量,再输出变量 第二种,利用MVC架构,运用后台servlet把表单获得的信息写入javabean 然后在登录页面中读出 第三种,不动用servlet,直接利用session,在jsp页面中直接获得,直接输出 按你的要求,只有一个名字,可以采用第三种方法,具体代码如下 <%@ page contentType=...

jsp中servlet的作用?
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加...

js页面通过servlet 删除一条数据之后,返回到原jsp页面,仍显示删除数 ...
1.缓存的处理方法 可以通过过滤器,或者有response的地方(如:jsp页面)response.setHeader("Cache-Control", "no-cache");response.setHeader("Cache-Control", "no-store");response.setHeader("Pragma", "no-cache");response.setDateHeader("Expires", 0L);2.技术实现 一般情况下,都不太用...

jsp通过servlet传值到另一个jsp页面
查询数据库,获得信息。这个简单,第一布得时候,你就要把这个商品代码记住,怎么记住,就是显示到页面上,只要是页面上的东西,就可以用js的dom来获得。如果你觉得这样做麻烦,你也可以直接用比如商品.id等这样的方式获得。只不过这样又要查询一次数据库。之后就用url?id=2这样的方式传到后台。

相似回答