如何实现省市区三级联动的效果(从前台页⾯、后台、数
据库详细阐述)
1、在做这个⼩项⽬前的准备⼯作:
1.1、分析:
由于省、市、县城(区)这些数据是存储到了MySQL数据库中的,我们要通过后台servlet获取数据库中的数据,然后再通过转发或者重定向的⽅式将数据呈现到前台页⾯中。
1.2、需要导⼊的jar包有:
mysql驱动包:mysql-connector-java-5.1.7-bin.jar
c3p0数据库连接池:c3p0-0.9.2.1.jar、mysql-connector-java-5.1.7-bin.jar(c3p0依赖包)
前台c标签(需要通过遍历的⽅式呈现——c:forEach):jstl-1.0.2.jar、standard-1.0.1.jar(jstl依赖包)
将集合或者数组转换成json数据格式(Jackson包):jackson-annotations-2.2.1.jar、jackson-core-2.2.1.jar、jackson-databind-2.2.1.jar
前台页⾯需要⽤到jquery,故还需要导⼊jquery-1.7.2.js库⽂件
1.3、该⼩项⽬⽤到的技术:
jdbc的知识、servlet的知识、jquery的知识、Ajax的知识(局部刷新)、标签的知识、EL表达式的知识、JSP的知识
2、开发过程:
2.1、准备数据源
创建⼀个数据库,命名为thereaction并创建三个表——province(省)、city(市)、county(县/区)
2.2后台开发
创建三个Javabean分别是Province、City、County。(由于太过简单,这⾥就不粘代码了)
创建Java类和c3p0连接池实现与数据库的连接:DAO.java(实现获取数据库数据的功能)、jdbctools.java(实现获取数据库连接、释放连接的功能)、jdbctools.java代码如下:
1package com.xiaojie.dao;
2
3import java.io.IOException;
4import java.sql.Connection;
5import java.sql.PreparedStatement;
6import java.sql.ResultSet;
7import java.sql.SQLException;
8
9import javax.sql.DataSource;
10
hange.v2.c3p0.ComboPooledDataSource;
12
13public class Jdbctools {
14 private static DataSource ds=null;
15 //数据库连接池应只被初始化⼀次
16 static{
17 ds=new ComboPooledDataSource("helloc3p0");
18 }
19 //获取数据库连接
20 public static Connection getConnection() throws ClassNotFoundException, SQLException, IOException{
21 Connection();
22 }
23 public static void shifanglianjie(Connection ct, PreparedStatement ps,ResultSet rs) {
24 if(rs!=null){
25 try {
26 rs.close();
27 } catch (SQLException e) {
28 // TODO Auto-generated catch block
29 e.printStackTrace();
30 }
31 }
32 if(ps!=null){
33 try {
34 ps.close();
35 } catch (SQLException e) {
36 // TODO Auto-generated catch block
37 e.printStackTrace();
38 }
39 }
40 if(ct!=null){
41 try {
42 ct.close();
43 } catch (SQLException e) {
44 // TODO Auto-generated catch block
45 e.printStackTrace();
46 }
47 }
48 }
49
50}
DAO.java的代码如下
1package com.xiaojie.dao;
2
3import java.io.IOException;
4import java.sql.Connection;
5import java.sql.PreparedStatement;
6import java.sql.ResultSet;
7import java.sql.SQLException;
8import java.util.ArrayList;
9import java.util.List;
10
版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 blog.csdn/qq_32079585/article/details/51288469⽂章标签:
个⼈分类:
相关热词:
▼查看关于本篇⽂章更多信息10
11
import com.xiaojie.beans.City;12
import com.xiaojie.beans.County;13
import com.xiaojie.beans.Province;14
15
public class DAO {16
public List<Province> getprovince(String sql ,args) throws ClassNotFoundException, SQLException, IOException{17
List<Province> provinces=new ArrayList<Province>();18
//准备去查数据库19
Connection ct=null;20
Connection();21
System.out.println("获取到数据库的连接了");22
PreparedStatement ps=null;23
ResultSet rs=null;24
ps=ct.prepareStatement(sql);25
for(int i=0;i<args.length;i++){26
ps.setObject(i+1, args[i]);27
el表达式和jquery的区别}28
uteQuery();29
()){30 provinces.add(new Int("province_id"),rs.getString("province_name")));
31 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论