Advertisement

利用servlet获取数据库数据

阅读量:

数据库的数据传到前台

数据库建表: (图片的话存放到第一个里面,自己选图片地址添加数据库)

复制代码
    CREATE TABLE COURSE(
    	COURSE_imgurl VARCHAR(150),
    	COURSE_title VARCHAR(150),
    	COURSE_num INT(255),
    	COURSE_price INT(255) 	
     );
     SELECT * FROM COURSE;
     INSERT INTO COURSE VALUE('','在线美女','54567218','2000');
     INSERT INTO COURSE VALUE('','在线美女','54567218','2000');

controller层:

复制代码
    @WebServlet("/CourseServlet")
    public class CourseServlet extends HttpServlet {
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		// 处理请求
    		// 传递请求到service层
    		CourseService serice = new CourseServiceImpl();
    		List<Course> courseList = serice.findAllCourse();
    		// 处理响应
    		// 转发给jsp进行数据的展示
    		request.setAttribute("courseList", courseList);
    		request.getRequestDispatcher("/course_List.jsp").forward(request, response);
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(request, response);
    	}
    }

service层:

复制代码
    public interface CourseService {
    	// 传递请求到dao层
    	public List<Course> findAllCourse();
    }

serviceImpl层:

复制代码
    public class CourseServiceImpl implements CourseService {
    
    	@Override
    	public List<Course> findAllCourse() {
    		// 传递请求到dao层
    		CourseDaoImpl courseDao = new CourseDaoImpl();
    		return courseDao.findAllCourse();
    	}
    }

dao层:

复制代码
    public interface CourseDao {
    	public List<Course> findAllCourse();
    }

daoImpl层

复制代码
    public class CourseDaoImpl implements CourseDao{
    
    	@Override
    	public List<Course> findAllCourse() {
    		List<Course> courseList = new ArrayList<Course>();
    		ResultSet rs = null;
    		Statement stat = null;
    		Connection con = null;
    		try {
    			//1.注册驱动
    			Class.forName("com.mysql.jdbc.Driver");
    			//2.获得连接
    			String  url = "jdbc:mysql://localhost:3306/course";
    			String user = "root";
    			String password = "123456";
    			con = DriverManager.getConnection(url,user,password);
    			String sql = "SELECT * FROM COURSE";
    			stat = con.prepareStatement(sql);
    			rs = stat.executeQuery(sql);
    			//6.处理结果集resulrset boolean next 返会true,有结果集,返回false则没有
    			while(rs.next()){
    				Course s = new Course();
    				s.setCourse_imgurl(rs.getString("COURSE_imgurl"));
    				s.setCourse_title(rs.getString("COURSE_title"));
    				s.setCourse_price(rs.getInt("COURSE_price"));
    				s.setCourse_num(rs.getInt("COURSE_num"));
    				courseList.add(s);
    			}
    		}catch (Exception e) {
    			e.printStackTrace();
    		}finally{
    			if(rs != null){
    				try {
    					rs.close();
    				} catch (Exception e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    			if(stat != null){
    				try {
    					stat.close();
    				} catch (Exception e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    			if(con != null){
    				try {
    					con.close();
    				} catch (Exception e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    		}
    		return courseList;
    	}
    }

pojo层:

复制代码
    public class Course {
    	private String course_imgurl;
    	private String course_title;
    	private int course_num;
    	private double course_price;
    
    	public Course() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    
    	public Course(String course_imgurl, String course_title, int course_num, double course_price) {
    		super();
    		this.course_imgurl = course_imgurl;
    		this.course_title = course_title;
    		this.course_num = course_num;
    		this.course_price = course_price;
    	}
    
    	public String getCourse_imgurl() {
    		return course_imgurl;
    	}
    
    	public void setCourse_imgurl(String course_imgurl) {
    		this.course_imgurl = course_imgurl;
    	}
    
    	public String getCourse_title() {
    		return course_title;
    	}
    
    	public void setCourse_title(String course_title) {
    		this.course_title = course_title;
    	}
    
    	public int getCourse_num() {
    		return course_num;
    	}
    
    	public void setCourse_num(int course_num) {
    		this.course_num = course_num;
    	}
    
    	public double getCourse_price() {
    		return course_price;
    	}
    
    	public void setCourse_price(double course_price) {
    		this.course_price = course_price;
    	}
    
    	@Override
    	public String toString() {
    		return "Course [course_imgurl=" + course_imgurl + ", course_title=" + course_title + ", course_num="
    				+ course_num + ", course_price=" + course_price + "]";
    	}
    }

jsp界面:

复制代码
    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!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>测试数据库数据</title>
    	<!-- 引入公共样式 -->
    	<link type="text/css" rel="stylesheet" href="css/public.css"/>
    	<!-- 引入course_list.css -->
    	<link type="text/css" rel="stylesheet" href="css/course_list.css"/>
    </head>
    <body>
    	<div id="main">
    		<c:forEach items="${courseList}" var="course">
    			<div class="c">
    				<img src="${course.course_imgurl }">
    				<p>${course.course_title }</p>
    				<p>${course.course_num }</p>
    				<p>${course.course_price }</p>
    			</div>
    		</c:forEach>
    	</div>
    </body>
    </html>

public.css公共样式:

复制代码
    @CHARSET "UTF-8";
    *{
    	margin:0px;
    	padding:0px;
    	font-size:16px;
    }
    li{
    	list-style-type:none;
    }
    a{
    	text-decoration:none;
    	corlor:inherit
    }

course_list的样式:

复制代码
    @CHARSET "UTF-8";
    #main{
    	width: 780px;
    	margin: 20px auto;
    	padding: 0px 50px;
    	border: 1px solid red;
    }
    #main::after{
    	content: "";
    	display: block;
    	clear: both;
    }
    .c{
    	margin: 20px;
    	padding: 10px;
    	box-shadow: 0px 0px 10px gray;
    	float: left;
    }
    .c img{
    	width: 200px;
    }

记得导mysql,standard,jstl的jar包
还有就是配置路径,一定要看好,位置具体,加/(不用xml的话)

全部评论 (0)

还没有任何评论哟~