上几次我们了解了javaweb的各种概念,相信你们已经对javaweb有了比较深入的理解了吧。这次我们将通过一个实例来更加直观的了解javaweb是如何与数据库交互的,下面这就来看看吧。
一、首先我们先创建一个javaweb项目并在新建的webContent文件夹中新建test.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="listAllStudentsServlet">List All Students</a> </body> </html>
二、在Java的src目录下ListAllStudentServlet.java,并对其进行配置
package com.javaweb.mvc; import java.io.IOException; import java.util.Arrays; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ListAllStudentsServlet extends HttpServlet { private static final long serialVersionUID = 1 L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { StudentDao studentDao = new StudentDao(); List < Student > students = studentDao.getAll(); request.setAttribute("students", students); request.getRequestDispatcher("/students.jsp") .forward(request, response); } }
三、创建Student实体类
package com.javaweb.mvc; public class Student { private Integer id; private String studentName; private String location; private String telephone; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } public Student(Integer id, String studentName, String location, String telephone) { super(); this.id = id; this.studentName = studentName; this.location = location; this.telephone = telephone; } }
四、在设计层创建StudentDao类
package com.javaweb.mvc; import java.util.ArrayList; import java.util.List; import java.sql.*; public class StudentDao { public List<Student> getAll(){ List<Student> students = new ArrayList<Student>(); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/student?user=root&password=1234"; String user = "root"; String password = "1234"; String sql = "select * from stu"; conn = DriverManager.getConnection(url, user, password); ps = conn.prepareStatement(sql); rs = ps.executeQuery(); while(rs.next()){ int id = rs.getInt(1); String studentName = rs.getString(2); String location = rs.getString(3); String telephone = rs.getString(4); Student student = new Student(id, studentName, location, telephone); students.add(student); } }catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { if(rs != null) rs.close(); if(ps != null) ps.close(); if(conn != null) conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return students; } }
五、在之前的webContent中新建students.jsp模板页面
<%-- 显示学生信息 --%> <%@page import="java.util.List"%> <%@page import="com.javaweb.mvc.Student" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% List<Student> students = (List<Student>)request.getAttribute("students"); %> <table> <tr> <th>id</th> <th>studentName</th> <th>location</th> <th>telephone</th> </tr> <% for(Student student:students){ %> <tr> <td><%= student.getId() %></td> <td><%= student.getStudentName() %></td> <td><%= student.getLocation() %></td> <td><%= student.getTelephone() %></td> </tr> <% } %> </table> </body> </html>
六、添加与数据库连接的JDBC驱动
如图:需要添加在lib文件夹,因为lib文件夹中存放支持web应用运行的JAR文件
七、这样一个javaweb项目就已经实现了查询了,下面就只需要打开网页运行就可以了。
以上就是关于javaweb实例教程的所有内容了,更多java入门知识请持续关注我们探寻吧。
推荐阅读: