最近在练习java程序,总结一下从数据库查询信息并输出到jsp页面的过程。主要数据处理在src.cn.javatest包下面

项目预览

1,配置项目根目录src目录下的druid.properties数据库信息(相当于一个数据库配置文件)

里面的信息可以在下载druid中获得,只需要连接到数据库并填写数据库表,

username=账号;password=密码

2,在相应的包中,新建utils/JDBCUtils.java文件,该文件是加载数据库信息,并连接数据库。

public class JDBCUtils {

//定义成员变量

private static DataSource ds;

static {

try {

//1.加载配置文件

Properties pro = new Properties();

//使用ClassLoader加载配置文件,获取字节输入流

InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");

pro.load(is);

//2.初始化连接池对象

ds = DruidDataSourceFactory.createDataSource(pro);

} catch (IOException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

}

//获取连接

public static Connection getConnection() throws SQLException {

return ds.getConnection();

}

/**

* 获取连接池的方法

*/

public static DataSource getDataSource() {

return ds;

}

}

3,以上基础已做好,再新增页面就无需再重复1,2步骤,以下目录都和utils目录同级

4,在domain/Doctor.java下创建表的信息,包括表字段,set,get方法。

public class Doctor {

private int id;//数据库javatest 中doctor表字段id

private String name;//数据库javatest 中doctor表字段name

private String hospital;//数据库javatest 中doctor表字段hospital

private String phone;//数据库javatest 中doctor表字段phone

private String salary;//数据库javatest 中doctor表字段salary

private String province;//数据库javatest 中doctor表字段province

public int getId() {    //get方法

return id;

}

public void setId(int id) {    //set方法

this.id = id;

}

......        //其他字段也要做get/set方法

5,在dao/DoctorDao.java页面创建接口,并创建实现方法。

public interface DoctorDao {    //创建接口

public List findAll();    //方法

}

在dao/impl/DoctorDaoImpl.java页面实现DoctorDao.java中的方法。

public class DoctorDaoImpl implements DoctorDao{

private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());

@Override

public List findAll() {    //重写接口中的方法

// 使用JDBC操作数据库

String sqlString = "select * from doctor";

List doctors = template.query(sqlString, new BeanPropertyRowMapper(Doctor.class));

return doctors;

}

}

6,在service/DoctorService.java创建接口,并创建获取所有用户列表的方法

public interface DoctorService {    //DoctorService接口

//获取所有用户列表

public List findAll();    //DoctorService方法

}

在service/impl/DoctorServiceImpl.java中实现DoctorService.java中的方法

public class DoctorServiceImpl implements DoctorService {

private DoctorDao dao = new DoctorDaoImpl();

@Override

public List findAll() {        //实现接口类

// 调用Dao层获取数据

List doctorServiceImpl = dao.findAll();

return doctorServiceImpl;

}

}

7,在web/servlet/DoctorListServlet.java中获取doctor信息,并保存到request中。并使用request.getRequestDispatcher("/javatest/list.jsp").forward(request, response);转发到页面

@WebServlet("/doctorListServlet")

public class DoctorListServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public DoctorListServlet() {

super();

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

DoctorService service = new DoctorServiceImpl();

List doctors = service.findAll();//获取doctor信息

request.setAttribute("doctors", doctors);//将结果写到request域中

//转发到list.jsp页面

request.getRequestDispatcher("/javatest/list.jsp").forward(request, response);

}

8,创建/WebContent/javatest/index.jsp页面,做个点击跳转

href="${pageContext.request.contextPath}/doctorListServlet" style="text-decoration:none;font-size:33px">查询所有用户信息

创建/WebContent/javatest/list.jsp页面,并将想要的信息输出到页面

用户信息列表

编号 姓名 服务医院 电话号码 薪水 省份 操作
${s.count} ${doctor.name} ${doctor.hospital} ${doctor.phone} ${doctor.salary} ${doctor.province} 修改 删除

所有的代码均完成,在浏览器中访问,就可以获取到doctor表中数据并展示在页面。

java 页面输出一个页面_java学习之:一个完整页面输出信息的过程(以输出Doctor表中信息为例)...相关推荐

  1. java画笔覆盖在界面_Java学习笔记:swing画笔工具Graphics,刷新页面,键盘事件,随机数等【诗书画唱】...

    Graphics:画笔工具 setColor:设置画笔颜色 DrawRect:空心矩形 fillRect:实心矩形 DrawOavl:空心圆 fillOavl:实心圆 DrawLine:画线(注意) ...

  2. java applet 输出多行_java学习笔记-输入输出、Applet和多线程开发

    java虚拟机 Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现.Java虚拟机有自己想象中的硬件,如处理器 ...

  3. java北大青鸟注册系统_java学习系统

    下面码s代是j,学习系统比较代码长,码&L代以下是H,完整面有的中的枚一个举参主要国省是里市区数,城市. 本身面向对象的概有类念基础知识虽然是没,学习系统向对象的仍然特性但它有面,.性选现面向 ...

  4. java培训第一阶段测试总结_java学习的第一阶段总结

    前言:在大一的时候我学习了我的第一门编程语言C语言,学了一些皮毛,大二现在刚开始学java这个面向对象的语言,现在我觉得对面向对象理解的还不是很清楚,但是java用习惯了还真比Devc++好用. 到现 ...

  5. JAVA捕捉输入格式异常_Java学习(四).异常处理

    异常处理 任何一个软件或程序都可能在运行的过程中出现故障,问题的关键是故障出现以后如何处理?谁来处理?怎样处理?处理后系统能否恢复正常的运行?本章在介绍Java处理这类问题基本方法的基础上,讨论包含异 ...

  6. java该怎么做笔记_JAVA学习笔记

    1.java.lang.NumberFormatException:有两种情况错误,第一就是数据类型转换错误.第二有空能 是没有传进参数,或者传进空参数.例如案例,本人的解决方法. if(str1.e ...

  7. java函数定义的要素_Java学习笔记八(方法)

    方法是解决一类问题的有序步骤的集合.将程序中共有的代码放在一起,然后统一调用这一个代码,那么这个代码块则称为方法. 方法尽可能要独立,一个方法最好只解决一个问题. 1.方法的优点 <1>减 ...

  8. java 画笔跟swing组件_Java学习教程(基础)--Java版本历史(二)

    Java语言自JDK1.0版本以来经历了许多次更新,也在基本程序库中增加了大量的类别和包.从J2SE 1.4开始,Java语言的变动由 Java Community Process(JCP)管理,JC ...

  9. java 由接口构造对象_Java学习笔记04——类和对象|抽象和接口|构造方法与继承...

    六.Java类 1.  Java中用关键字class来创建类. 2.  类中属性和方法称为类的成员;类的声明和方法要在同一个文件内,不同于C++. 3.  类的定义: [] class [extend ...

最新文章

  1. 014 怪物过滤的设计和实现
  2. poj 1151(线段树求面积并)
  3. 语义分割的时候,发的牢骚
  4. 启动ubuntu无反应_推荐一款优秀的Python IDE以及在Ubuntu下的安装
  5. Spring4 MVC文件下载实例
  6. 代码的坏味道之一——译自《重构》
  7. 带有JSF,Servlet和CDI的DynamicReports和JasperReports
  8. 分布式通信协议RPC协议简介
  9. docker 安装azkaban_docker总结
  10. 统计学——单(双)因素方差分析
  11. html 有序无序列表
  12. 游戏必备组件有哪些_微信广告将升级小程序、小游戏开发者收入方案
  13. docker 下安装oracle
  14. 明翰英语教学系列之雅思常见词汇与固定搭配篇V1.0(持续更新)
  15. 五大车载操作(VOS)系统优劣对比
  16. 【ISO9126】软件质量模型的介绍(软件质量管理的六大特征和二十七个子特征)
  17. Excel如何将多个工作簿数据合并到一起
  18. ream完美转换XML、JSON 转载
  19. 将工业ISM和消费者ISM频段设备迁移到LoRaWAN,LoRa设备开发参考指南(二十)
  20. AMD intel CPU 型号对比

热门文章

  1. r语言rank降序_R语言rank函数详细解析
  2. c语言编译器不支持64位,什么编译器支持64位整数?
  3. 现代软件工程讲义 3 代码规范与代码复审
  4. matlab多缝夫琅禾费,常见的多缝夫琅禾费衍射.ppt
  5. Hive分析窗口函数(五) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
  6. 【perl】simpleHTTP
  7. asp.net读取xml方法
  8. rsync的原理和安装使用及配制详解(三)(转)
  9. [小技巧][JAVA][转换]字符数组char[]与字符串String之间互相转换
  10. 51nod 1101 换零钱 简单dp