java 页面输出一个页面_java学习之:一个完整页面输出信息的过程(以输出Doctor表中信息为例)...
最近在练习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表中信息为例)...相关推荐
- java画笔覆盖在界面_Java学习笔记:swing画笔工具Graphics,刷新页面,键盘事件,随机数等【诗书画唱】...
Graphics:画笔工具 setColor:设置画笔颜色 DrawRect:空心矩形 fillRect:实心矩形 DrawOavl:空心圆 fillOavl:实心圆 DrawLine:画线(注意) ...
- java applet 输出多行_java学习笔记-输入输出、Applet和多线程开发
java虚拟机 Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现.Java虚拟机有自己想象中的硬件,如处理器 ...
- java北大青鸟注册系统_java学习系统
下面码s代是j,学习系统比较代码长,码&L代以下是H,完整面有的中的枚一个举参主要国省是里市区数,城市. 本身面向对象的概有类念基础知识虽然是没,学习系统向对象的仍然特性但它有面,.性选现面向 ...
- java培训第一阶段测试总结_java学习的第一阶段总结
前言:在大一的时候我学习了我的第一门编程语言C语言,学了一些皮毛,大二现在刚开始学java这个面向对象的语言,现在我觉得对面向对象理解的还不是很清楚,但是java用习惯了还真比Devc++好用. 到现 ...
- JAVA捕捉输入格式异常_Java学习(四).异常处理
异常处理 任何一个软件或程序都可能在运行的过程中出现故障,问题的关键是故障出现以后如何处理?谁来处理?怎样处理?处理后系统能否恢复正常的运行?本章在介绍Java处理这类问题基本方法的基础上,讨论包含异 ...
- java该怎么做笔记_JAVA学习笔记
1.java.lang.NumberFormatException:有两种情况错误,第一就是数据类型转换错误.第二有空能 是没有传进参数,或者传进空参数.例如案例,本人的解决方法. if(str1.e ...
- java函数定义的要素_Java学习笔记八(方法)
方法是解决一类问题的有序步骤的集合.将程序中共有的代码放在一起,然后统一调用这一个代码,那么这个代码块则称为方法. 方法尽可能要独立,一个方法最好只解决一个问题. 1.方法的优点 <1>减 ...
- java 画笔跟swing组件_Java学习教程(基础)--Java版本历史(二)
Java语言自JDK1.0版本以来经历了许多次更新,也在基本程序库中增加了大量的类别和包.从J2SE 1.4开始,Java语言的变动由 Java Community Process(JCP)管理,JC ...
- java 由接口构造对象_Java学习笔记04——类和对象|抽象和接口|构造方法与继承...
六.Java类 1. Java中用关键字class来创建类. 2. 类中属性和方法称为类的成员;类的声明和方法要在同一个文件内,不同于C++. 3. 类的定义: [] class [extend ...
最新文章
- 014 怪物过滤的设计和实现
- poj 1151(线段树求面积并)
- 语义分割的时候,发的牢骚
- 启动ubuntu无反应_推荐一款优秀的Python IDE以及在Ubuntu下的安装
- Spring4 MVC文件下载实例
- 代码的坏味道之一——译自《重构》
- 带有JSF,Servlet和CDI的DynamicReports和JasperReports
- 分布式通信协议RPC协议简介
- docker 安装azkaban_docker总结
- 统计学——单(双)因素方差分析
- html 有序无序列表
- 游戏必备组件有哪些_微信广告将升级小程序、小游戏开发者收入方案
- docker 下安装oracle
- 明翰英语教学系列之雅思常见词汇与固定搭配篇V1.0(持续更新)
- 五大车载操作(VOS)系统优劣对比
- 【ISO9126】软件质量模型的介绍(软件质量管理的六大特征和二十七个子特征)
- Excel如何将多个工作簿数据合并到一起
- ream完美转换XML、JSON 转载
- 将工业ISM和消费者ISM频段设备迁移到LoRaWAN,LoRa设备开发参考指南(二十)
- AMD intel CPU 型号对比
热门文章
- r语言rank降序_R语言rank函数详细解析
- c语言编译器不支持64位,什么编译器支持64位整数?
- 现代软件工程讲义 3 代码规范与代码复审
- matlab多缝夫琅禾费,常见的多缝夫琅禾费衍射.ppt
- Hive分析窗口函数(五) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
- 【perl】simpleHTTP
- asp.net读取xml方法
- rsync的原理和安装使用及配制详解(三)(转)
- [小技巧][JAVA][转换]字符数组char[]与字符串String之间互相转换
- 51nod 1101 换零钱 简单dp