数据库中的记录通过servlet回显到jsp页面中(连接数据库或者查询參照:对数据进行增删改查)

简介:

        我们常常会用到通过图书的名称来查询图书那么这种话我们也就会使用到从数据库中搜索出数据而且载入到自己的Jsp页面中

           这种话我们须要将从数据库中获取到的数据放进响应中然后通过%=request.getAttribute("bookId1") %获取对应的值当然仅仅有servlet和jsp页面是不够的还须要的是将你的servlet配置到你的wed.xml中。这样你的servlet才干够使用。

          下面为个人浅浅的想法:事实上我个人认为动态的载入网页更加的简单比如:你想要在你的站点每天公布一张站点动态图片那么你须要做的就是最简单的方式将你的图片命名成之前的名称用以替换然后单独的一个文件存放文本文件 再将文本文件载入进来另一种更加安全的方法就是你须要将你的文件放进数据库中然后在每次訪问页面时候通过servlet载入进来(个人认为这样的方式尽管安全可是载入的比較慢一般人都不愿去等待)另一种就是我记得老师和我说过有一种专用的站点后台管理的假设创建自己的站点能够考录是用那个。

中间使用的book是定义的一个book类存储的是book的基本信息为其设置setter和getter訪问器这种话符合封装原则


package bookConnUtil;



import java.io.IOException;
import java.sql.SQLException;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class selectBook extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub

String bookId=req.getParameter("bookId");

try {

//本句话调用的是等会数据库进行增删改查里的一个static方法可參考我写的:http://blog.csdn.net/bluezhangfun/article/details/46617455

boolean flag=bookDAO.bookSelete(bookId);

//进行调试的语句

//System.out.println("bookSelect方法正常!!

!。。!!

。!!

。!

");

if(flag==true){

//book.getBookID();在以下类中

String bookId1=bookDAO.book.getBookID();
String bookName=bookDAO.book.getBookName();
String pianduanName=bookDAO.book.getPianduanName();

//System.out.println(bookId1+"+++++++++++++++++++++++++++");

//将从数据库中查询到的语句放入到response中

req.setAttribute("bookId1", bookId1);
req.setAttribute("bookName", bookName);

req.setAttribute("pianduanName",pianduanName);

//进行页面跳转

req.getRequestDispatcher("selectBook.jsp").forward(req, resp);

}else{
req.getRequestDispatcher("error.html").forward(req, resp);

}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

/***************************************************************************************************************************

package bookConnUtil;


import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//使用rs结果集的时候由于查询的是一条语句  假设是使用rs.next就是没有后继所以就不能运行while循环将会出现错误 
//假设是查询的多条语句结果是多条的话那么就能用while循环这样就能实现反复的输出
//使用prepareStatement时候必须先要对当中的?号进行赋值不然会出现错误的
public class bookDAO{
static books book = new books();
 public static books getBook(){
 return book;
 }
public static boolean bookSelete(String bookId) throws SQLException{
String updateWithUid ="select bookId,bookName,pianduanName from books where bookId=?"; 
//String updateWithUname ="update users set UID=?

,password=?

,email=?,utype=?where Uname=?";
 

boolean flag =true;

Connection conn=null;
PreparedStatement stmt=null;
ResultSet rs=null;
try{
conn=DBUtil.getConnection(DBUtil.CONNECTION_SQL);

stmt=conn.prepareStatement(updateWithUid);
stmt.setString(1,bookId);
System.out.println("bookId是"+bookId+"!!!!!!!!!!!!");

rs=stmt.executeQuery();

if(rs.next()==false){flag=false; return flag; }


System.out.println("没有进入到循环中+++++++++++++++++++++");
String bookId1 = rs.getString(1);
System.out.println(bookId+"++++++++++++++++++");
book.setBookID(bookId1);
String bookName = rs.getString(2);
book.setBookName(bookName);
System.out.println(bookName+"++++++++++++++++++");
String pianduanName = rs.getString(3);
book.setPianduanName(pianduanName);



return flag;

}catch(Exception e){
e.printStackTrace();
}finally{
conn.close();
stmt.close();

}
return false ;
}





}/

/**********************************************************************************************************************************************/

以下的代码是对response中的数据提取并显示在页面中我仅仅做了简单的处理

假设嫌自己的页面过于简单或者是运行的功能过于单一那么在jsp或者是你的servlet中进行控制

<div class="form_row">
            <label class="contact"><strong>书籍ID:</strong></label>
            <input type="text" class="contact_input" name="bookId" value='<%=request.getAttribute("bookId1") %>'/>
          </div>
          <div class="form_row">
            <label class="contact"><strong>书籍名称:</strong></label>
            <input type="text" class="contact_input" name="bookName" value='<%=request.getAttribute("bookName") %>'/>
          </div>
          <div class="form_row">
            <label class="contact"><strong>片段信息:</strong></label>
            <input type="text" class="contact_input" name="pianduanName" value='<%=request.getAttribute("pianduanName") %>' />
          </div>






本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5256073.html,如需转载请自行联系原作者

相关文章
|
26天前
|
并行计算 关系型数据库 MySQL
如何用 esProc 将数据库表转储提速查询
当数据库查询因数据量大或繁忙变慢时,可借助 esProc 将数据导出为文件进行计算,大幅提升性能。以 MySQL 的 3000 万行订单数据为例,两个典型查询分别耗时 17.69s 和 63.22s。使用 esProc 转储为二进制行存文件 (btx) 或列存文件 (ctx),结合游标过滤与并行计算,性能显著提升。例如,ctx 并行计算将原查询时间缩短至 0.566s,TopN 运算提速达 30 倍。esProc 的简洁语法和高效文件格式,特别适合历史数据的复杂分析场景。
|
2月前
|
SQL 关系型数据库 MySQL
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
|
2月前
|
数据库
【YashanDB知识库】数据库用户所拥有的权限查询
【YashanDB知识库】数据库用户所拥有的权限查询
|
2月前
|
存储 运维 监控
百万指标,秒级查询,零宕机——时序数据库 TDengine 在 AIOps 中的硬核实战
本篇文章详细讲述了七云团队在运维平台中如何利用 TDengine 解决海量时序数据存储与查询的实际业务需求。内容涵盖了从数据库选型、方案落地到业务挑战及解决办法的完整过程,特别是分享了升级 TDengine 3.x 时的实战经验,给到有需要的小伙伴参考阅读。
80 1
|
2月前
|
缓存 NoSQL 关系型数据库
WordPress数据库查询缓存插件
这款插件通过将MySQL查询结果缓存至文件、Redis或Memcached,加速页面加载。它专为未登录用户优化,支持跨页面缓存,不影响其他功能,且可与其他缓存插件兼容。相比传统页面缓存,它仅缓存数据库查询结果,保留动态功能如阅读量更新。提供三种缓存方式选择,有效提升网站性能。
63 1
|
9月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
94 3
|
9月前
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
93 1
|
9月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
221 0
|
9月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
68 0
|
11月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
182 12

热门文章

最新文章