我们常常会用到通过图书的名称来查询图书那么这种话我们也就会使用到从数据库中搜索出数据而且载入到自己的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>

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

  1. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

  2. dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)

    jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...

  3. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  4. Delphi - cxGrid连接Oracle数据库 实现数据的增删改查

    cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...

  5. SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

    在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...

  6. mysql基础之mariadb对表中数据的增删改查

    复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...

  7. java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查

    一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...

  8. linux中安装eclipse,安装好之后不能直接建servlet,不能直接在jsp页面中run on server.权限在作怪,我猜的,

    最近按照网上的教程安装了eclipse,开始很开心,但是慢慢的用的时候发现,不能在jsp页面run on server ,不能创建servlet,我也是醉了,我当时就猜测是权限问题,很多软件安装之后都 ...

  9. mysql--对行(表中数据)的增删改查

    一.插入数据(增加)insert 1.插入数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); #指定字段来插入数据,插 ...

随机推荐

  1. linux file命令

    1. file 是检测文件类型的命令.2. 文件类型就文件组织的方式,通常不同的文件类型执行不同的标准.例如我们熟知的:txt , doc , xls , pdf ...3. file 命令的简单用法 ...

  2. this关键字之一个有趣的用法

    this关键字 1.首先一个用处就是代表当前类的对象. 2.当我们对构造函数进行重载的时候代码如下: public class Class1 { public string Name { get; s ...

  3. Hyper-v虚拟机上网

    Windows 8中内置的Hyper-V管理器可以说给许多人带来了惊喜!在Hyper-V管理器强大的同时,也同样面临着设置中一些不可避免的麻烦.有人说,Hyper-V虚拟机联网麻烦,其实,只要掌握了技 ...

  4. Servlet 技术全总结 (已完成,不定期增加内容)

    Servlet是独立于平台和协议的服务器端的java应用程序,处理请求的信息并将其发送到客户端. Servlet的客户端可以提出请求并动态获得响应. Servlet动态生成web页面,担当浏览器或其他 ...

  5. PHP学习系列(1)——字符串处理函数(2)

    6.chunk_split() 函数把字符串分割为一连串更小的部分.本函数不改变原始字符串. 语法:chunk_split(string,length,end) 参数: string——必需.规定要分 ...

  6. ac automaton 专题

    hdu2222 模板题 hdu2825 在ac自动机上的状压dp hdu3247 在ac自动机上bfs poj2778 求长度为n,不包含给定的m个字符串的任何一个的字符串的个数 其实就是求长度为n的 ...

  7. MTK手机最低亮度值修改教程,有效降低亮度[转]

    感谢halflover的教程 反编译framework-res.apk 打开\framework-res\res\values\integers.xml 然后找到 <integer name=& ...

  8. hdu Largest prime factor

    类似于素数打表. #include <cstdio> #include <cstring> #include <algorithm> #define maxn 10 ...

  9. 自制单片机之十六……将文字或图形转成LCD上使用的C51字模数据

    这一讲说说如何用取模软件将图形转成数据吧,有很多人反复问我这个问题,我就再罗嗦下吧! 取字模的软件有很多款.有的只能将文字转成字模数据,有的既可将文本文字转字模也能将图片转成点阵数据.在这里我就介绍一 ...

  10. Linq to OBJECT延时标准查询操作符

    1.Where 操作符用于限定输入集合中的元素,将符合条件的元素组织声称一个序列结果.2.Select  操作符用于根据输入序列中的元素创建相应的输出序列中的元素,输出序列中的元素类型可以与输入序列中 ...