现在Javaweb开发第一阶段学习步入实践阶段,在这儿将自己做的项目记下来,也方便积累经验。
下图是处理流程:
MySQL数据库表如下所示:
1.在web项目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>
2在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 = 1L; 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); } }
3.继续创建Student.java
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; } }
4.创建StudentDao.java
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; } }
5.在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>
6.添加JDBC驱动
添加在lib文件夹,因为lib文件夹中存放支持web应用运行的JAR文件
7.接下来就可以运行了
这是运行结果: