原⽂地址为:
在本篇⽂章中,⼩编将介绍在页⾯中通过的实现:下⾯我们以“新闻发布系统”中显⽰⼀级标题的为例进⾏讲述,在新闻发布系统中存在⼀⼆级标题,在后台可以对标题进⾏管理,可查询标题等信息
【step one】
1-1 建⽴数据库
在jsp中,我们使⽤的是mysql数据库,对于此数据的优缺点本篇不予以讲述,⾸先建⽴news数据库,其数据库中表的信息为:
eg:< id :1 ; name:娱乐; creator:ibbon;createTime:2014-11-21 22:17:43>
【step two】 建⽴web项⽬(news)
2-1:⾸先,我们在web项⽬的src⽂件夹写⼊链接数据库的相关的类,他们分别是:链接数据库的类,数据的实体类
-----------------------------------------------------------------------------------------------------------------------------------------------------
2-1-1 : 数据库实体类,在此类中主要含有数据库的字段,<;包:cn.ity ;实体类:Title.java;>
2
3import java.sql.Date;
4
5public class Title {
/**
车载数字电视 *下⾯这四个属性为数据库表中的四个属性
*/ 6private int id;
7private String name;
8private String creator;
9private Date createTime;
10
11public int getId() {
12return id;
13 }
14public void setId(int id) {
15this.id = id;
16 }
bbzs17public String getName() {
18return name;
19 }
20public void setName(String name) {
21this.name = name;
22 }
23public String getCreator() {
24return creator;
25 }
26public void setCreator(String creator) {
28 }
29public Date getCreateTime() {
30return createTime;
31 }
32public void setCreateTime(Date createTime) {
34 }
35public Title(int id, String name, String creator, Date createTime) {
36super();
37this.id = id;
38this.name = name;
41 }
防屏蔽42
43 }
ps:<;实体类的作⽤>
/**
*实体类的作⽤
*在JAVAWeb中,实体类⾥⾯的某⼀个类,相当于是数据库⾥的⼀张表,⼀个类⾥⾯的某个字段相当于表的列名
*在实体⾥有getter和setter⽅法,getter是只读,setter是写⼊
*/
----------------------------------------------------------------------------------------------------------------------------------------------------- 2-2-2 数据库操作类 :下⾯以对数据库的查询功能书写代码,<;包:cn.edu.bzu.dao;类:TitleDAO.java>
2 import java.sql.*;
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import cn.ity.Title;
7
8public class TitleDAO {
9public List readFirstTitle(){
10 List<Title> list =new ArrayList<Title>();
11 Connection con=null;
12 PreparedStatement psmt=null;
13 ResultSet rs=null;
14try {
15 Class.forName("sql.jdbc.Driver");
16 } catch (ClassNotFoundException e) {
17 e.printStackTrace();
18 }
19
20try {
21 Connection("jdbc:mysql://localhost:3306/news","root","baby123");
22 String sql="select * from title";
23 psmt=con.prepareStatement(sql);
24 uteQuery();
25
())
27 {
28int Int("id");
29 String String("name");
路灯节电30 String String("creator");
31 Date Date("createTime");
32 Title tl=new Title(id, name, creator, createTime);
33 list.add(tl);
34 }
35
36 } catch (SQLException e) {
37 e.printStackTrace();
38 }finally
39 {
车库翻板门40try {
41if(rs!=null)
42 {
43 rs.close();
44 }
45if(psmt!=null)
46 {
47 psmt.close();
48 }
49if(con!=null)
50 {
51 con.close();
52 }
53 } catch (SQLException e) {
54 e.printStackTrace();
55 }
56 }
57return list;
58 }
59
60 }
ps:现在分析⼀下上述代码,
one:创建⽅法(public List readFirstTitle()),之所以选择返回值是List是因为⼀个标题含有id,name,creator,cteateTime信息,这些信息存在集合中,便于管理,操作
two:创建变量,链接数据库,在这个web project使⽤的是JDBC技术链接的数据库,这技术需要⼀类三接⼝<DriverManager
类,Connection接⼝,Statement接⼝,ResultSet接⼝>
ps:与数据库建⽴链接的步骤:1.注册数据库驱动;2.获取数据库连接;3.获取statement对象;4.关闭资源;
具体的实现步骤,请看上述代码
three:在数据库中读取的信息需要使⽤List接⼝,以实现对数据库的⼀列信息进⾏封装起来进⾏来
进⾏后续的使⽤,就好⽐:在桌⼦上有很多的糖,装糖的瓶⼦,装瓶⼦的箱⼦-------->>>>>就好⽐之前的属性为糖,好⼏个属性为⼀个瓶⼦,好⼏个瓶⼦放在箱⼦中(List)
Four:下⾯进⾏细节讲解:
public List readFirstTitle()⽅法对每⼀⾏的数据进⾏封装, 通过为实体类建⽴对象(entity),调⽤他的构造⽅法,通过构造⽅法的⽅式进⾏复制,然后把通过赋值完成的数据加⼊list集合中,这样⼀⾏的数据就进⾏封装完成,通过while()循环,从⽽实现对数据的遍历,进⽽实现对多⾏数据的存储,但是在此之前需要创建list对象,并且导⼊list对象的相关类-------------List<Title> list =new
ArrayList<Title>();
----------------------------------------------------------------------------------------------------------------------------------------------------------
2-2-3 在web页⾯中显⽰数据库信息<;在webroot下建⽴titleList.jsp,使⽤TitleDao.java中的查询⽅法得到所有的记录,然后⽤表格在页⾯显⽰>其具体的代码:
1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
2 <%@page import="cn.edu.bzu.dao.TitleDAO,cn.ity.Title"%>
3 <%
4 String path = ContextPath();
5 String basePath = Scheme()+"://"+ServerName()+":"+ServerPort()+path+"/";
6 %>
7
8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
9 <html>
10 <head>
11 <title>Test-newsTitle</title>
12 </head>
13
14 <body>
15 <table border="1">
16 <tr>
17 <td>id</td>
一次性浴缸套18 <td>name</td>
19 <td>creator</td>
20 <td>createTime</td>
21 </tr>
22 <%
23 TitleDAO dao=new TitleDAO();
24 List<Title> list =adFirstTitle();
25for(Title tl:list)
26 {%>
27 <tr>
28 <td><%=tl.getId() %></td>
29 <td><%=tl.getName() %></td>
30 <td><%=tl.getCreator() %>></td>
31 <td><%=tl.getCreateTime() %></td>
32 </tr>
33 <%}
34 %>
35 </table>
36 </body>
37 </html>
ps: <%%>⼩脚本的内容解释:
1.通过TitleDAO dao=new TitleDAO(); 创建对象
2.List <Title> list =adFIrstTitle(); 接⼝List创建list对象,然后通过对象dao调⽤TitleDAO中的readFirstTitle()⽅法,从⽽把返回的list赋予给list
3.for-each()进⾏数据的遍历
4.遍历的需要放在⾏(<tr></tr>)标签外⾯,这样的话才能把数据进⾏⾏存储,由于使⽤了遍历,所以说明把数据库中的Title表中的数据全部以表格的形式输出
5.具体美化,敬请学习html+css
-----------------------------------------------------------------------------------------------------------------------------------------------------
附录:
⼩编推荐⼏个⽹页学习的链接:
PS:⼩编技术有限,如有不⾜,请指出,谢谢转载请注明本⽂地址: