开发环境:
Jdk1.8 Tomcat 8.5 Postgres 9 Eclipse JavaEE
操作系统:win 10
实现回显的思路:
- 定义index.jsp用作websocket客户端
- 定义jdbc类操作数据库,并把值实时返回
- 定义websocket配置类实现ServerApplicationConfig接口,配置websocket
- 定义服务器端类 实现数据接收与数据发送
目录结构:
其中 有一些是非必须的,是我在编写jdbc底层时定义出来的,比如测试类,service和servlet
开发前准备
拷贝jar包到web-inf/lib目录,如下:
新建出来的dynamic web项目是没有web.xml文件的,我们需要拷贝一个或者新建一个,这里我直接贴出来
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
</web-app>
开始开发
JDBC访问数据库并显示到网页
1.数据库设计
2.一共有id,name,等五个字段,根据属性编写family实体类:
package com.shenlan.pojo;
public class Family {
private Integer id;
private String name;
private Integer age;
private String phone;
/*
* public Family(int id, String name, int age, String phone) { // TODO
* Auto-generated constructor stub }
*/
public Family(Integer id, String name, Integer age, String phone) {
super();
this.id = id;
this.name = name;
this.age = age;
this.phone = phone;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "SelAllServlet [id=" + id + ", name=" + name + ", age=" + age + ", phone=" + phone + "]";
}
}
3.编写Dao层接口
package com.shenlan.dao;
import java.util.List;
import com.shenlan.pojo.Family;
public interface FamilyDao {
/**
* 查询全部
*/
List<Family> selAll();
}
4.Dao实现类
package com.shenlan.dao.impl;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import com.shenlan.dao.FamilyDao;
import com.shenlan.pojo.Family;
/**
* 数据访问层的实现
* 异常处理
*/
public class FamilyDaoImpl implements FamilyDao{
@Override
public List<Family> selAll() {
//声明资源
List<Family> list=new ArrayList<><