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

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

366dc15c6ff3

项目预览

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

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

username=账号;password=密码

366dc15c6ff3

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表中数据并展示在页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[xsd学习]xsd介绍

一直以来项目中对xml格式的判断使用的都是dtd格式,直到最近才发现,不知何时都已经转为xsd来进行判断和校验,于是今天专门找资料看下,不得不说,对于这类资料的入门,w3cschool真是个不错的资料库,…

教学目标四个维度_【深度好文】体育教案中的教学目标与学习目标应如何表述...

体育教师大本营教学/训练/职业/成长强 烈 建 议 大 家 星 标 我 们教 学 路 上 ☆ 不 离 不 弃在以往看到的体育课的教案上,目标部分不是用教学目标就是用学习目标来表述,然而,这两种目标表达形式有没有本质区别?分别该如何表述…

java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常

异常处理是java语言的重要特性之一,《Three Rules for effective Exception Handling》一文中是这么解释的:它主要帮助我们在debug的过程中解决下面的三个问题。什么出错了哪里出错了为什么出错java语言可以说是提供了过于完善的异常处理机制&#xff0c…

why I need a flow learn note.

1.其实学网站学安卓也写了txt的学习笔记。然后扔着,(没有时间线和互动性),然后就没有然后了。 2.知识体系,一个月后,哎呦我擦,我会啥来着(搞了这么久,深有体会&#xff0…

nodejs readfilesync 路径_Linux 磁盘多路径聚合multipath

在日常工作中我们经常遇到配置存储的多路径聚合。多路径的目的是,当主机HBA卡、线缆、交换机或者存储设备的控制器故障等原因造成一条物理路径失效时,服务器可以将通过此物理路径的I/O转移到其他正常的物理路径上面,应用程序不会觉察到这种改变,从而提高…

php考勤分析,php考勤系统

【实例简介】自己写的php学生考勤系统,包括开题报告,结题报告,mysql数据库【实例截图】【核心代码】PHPkaoqinsystem└── PHP考勤系统├── database│ └── kaoqin.sql├── kaoqin│ ├── addrd.php│ ├── addstd.php│ …

遥 控 器

acm.zznu.edu.cn/problem.php?id1617 遥 控 器 时间限制: 1 Sec 内存限制: 128 MB提交: 25 解决: 9[提交][状态]题目描述 Dr.Kong 有一台高级电视机,这台电视机可以接受100个频道(从0到99编号)。电视的配套遥控器有13个按钮: 1…

php7与golang,golang 调用 php7

执行php文件func Test_exec(t *testing.T) {engine.Initialize()ctx : &engine.Context{Output: os.Stdout,}err : engine.RequestStartup(ctx)if err ! nil {fmt.Println(err)}defer engine.RequestShutdown(ctx)err ctx.Exec("/tmp/index.php")if err ! nil {…

u 20ubuntu 安装 postfix_极力推荐和田咨询问题U型钢托盘厂家

12极力推荐和田咨询问题U型钢托盘厂家泊头市毅伽属制品有限公司坐落于河北省泊头市龙华街北4公里,濒临京沪、石黄高速公路以及104、307国道,另有廊泊路贯穿南北交通十分便利。本公司设计生产各种冷弯型钢,产品包括C型钢、Z型钢、U型钢、M型钢…

HTML5中lineCap端点样式遇到closePath()

定义和用法 lineCap 属性设置或返回线条末端线帽的样式。 注释:"round" 和 "square" 会使线条略微变长。 默认值:buttJavaScript 语法:context.lineCap"butt|round|square";属性值 值描述butt默认。向线条的每…

php鼠标悬停显示图片,鼠标滑过出现预览的大图提示效果

当鼠标滑过图片时,图片会出现预览的大图,大图下面还会有介绍文字。.aa{width:88px;height :100px;}$(function () {var x 10;var y 20;$("a.tooltip").mouseover(function (e) {this.myTitle this.title;this.title "";var imgT…

405 not allowed什么意思_二驴质问散打:为什么不救天道!面临一个亿赔款?次惑小仙女宣布与可乐分手!...

次惑小仙女发作品表示:对不起让你们失望了,慢慢也学着长大了,懂得了很多,以前每天就知道天真傻笑的玩,后来懂得了努力和加油,但是很多东西并不是大家看到的那样背后的事情谁又能知道。都认为他对我很好,只有自己知道,呵呵。有些时…

阿里面试

阿里面试 转载于:https://www.cnblogs.com/chen310/p/4492243.html

matlab提示output,强制Matlab输出到命令行(Force Matlab output to command line)

强制Matlab输出到命令行(Force Matlab output to command line)我正在从Windows命令提示符运行MATLAB脚本:"C:\Program Files\MATLAB\R2014B\bin\matlab" -nodisplay -nosplash -nodesktop -wait -r "test.m"test.m很简单:function …

hdu.1254.推箱子(bfs + 优先队列)

推箱子 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6021 Accepted Submission(s): 1718 Problem Description推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运…

ae合成设置快捷键_怎么在ae中剪切视频?怎么在ae里裁剪视频?

ae剪切裁剪视频教程:零基础学AE软件影视后期必修课程-AE新建合成-羽兔网​www.yutu.cn1、启动After Effects并导入视频第一个任务是打开一个新项目,并将视频加载到其中。首先从主菜单中选择新的构图。然后打开构图菜单,选择所需的分辨率等&am…

php js获取元素id,javascript通过中文id和class获取元素的方法

以前以为html元素中的id和class等只能通过字母数字或者下划线等特殊字符命名,如果单存使用中文浏览器不会报错,但是js是获取不到的,但是今天逛论坛的时候发现不是这样的。代码如下:运行结果:论坛来源是这个&#xff1a…

java漂亮界面编程_计算机二级之JAVA篇

JavaJava是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。深受程序员们的追捧,据TIBOE2020年最新统计:Java使用人数大涨&am…

idea 设置java栈空间,如何为Intellij编译器提供更多堆空间?

当我创建一个Intellij项目时,我不断收到以下内存错误。我已经在idea.vmoptions中增加了我的堆大小:-Xms128m-Xmx2048m-XX:MaxPermSize1024m-XX:ReservedCodeCacheSize64m-ea但我仍然得到这个错误:Information:The system is out of resources…

Java for LeetCode 042 Trapping Rain Water

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. For example, Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6. 解题思路: 先找到第一块最高的木板&…