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表中信息为例)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国PC市场熄火 华为支棱起来了:超越宏
- 下一篇: 车主也配薅羊毛?一东风本田4S店工作群聊