linkage.jsp
pageEncoding="UTF-8"%>
三级菜单联动getProvince();
function getProvince(){
var xmlHttp;
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") ;
}
document.getElementById("province").length=1;
xmlHttp.open("post","getProvince");
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4 && xmlHttp.status==200){
var data=eval("("+xmlHttp.responseText+")");
alert(data.rows[0].areaName);
for(var i=0;i
document.getElementById("province").innerHTML+=""+data.rows[i].areaName+"";
}
}
}
xmlHttp.send();
}
function getCity() {
}
function getCounty() {
}
选择省:
-请选择省份-
选择市:
-请选择城市-
选择区县:
-请选择区县-
DbUtil.java
package com.oracle.util;
import java.sql.Connection;
import java.sql.DriverManager;
public class DbUtil {
private static String jdbcName="com.mysql.jdbc.Driver";
private static String url="jdbc:mysql://127.0.0.1:3306/chinastates";
private static String user="root";
private static String password="zbsy201005";
public Connection getConn() throws Exception{
Class.forName(jdbcName);
Connection conn=DriverManager.getConnection(url, user, password);
return conn;
}
public void close(Connection conn) throws Exception{
if (conn!=null) {
conn.close();
}
}
public static void main(String[] args) throws Exception{
DbUtil dbUtil=new DbUtil();
Connection conn=dbUtil.getConn();
if(conn!=null){
System.out.println("数据库连接成功!");
}
dbUtil.close(conn);
}
}
ResponceUtil.java
package com.oracle.util;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
public class ResponseUtil {
public static void write(HttpServletResponse response,JSONObject jsonObject)throws Exception{
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.println(jsonObject.toString());
out.flush();
out.close();
}
}
Chinastates.java
package com.oracle.entity;
public class Chinastates {
private String areaCode;
private String areaName;
private String parentAreaCode;
private Integer root;
private Integer zone;
private String navigateURL;
public Chinastates() {
super();
}
public String getAreaCode() {
return areaCode;
}
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
public String getAreaName() {
return areaName;
}
public void setAreaName(String areaName) {
this.areaName = areaName;
}
public String getParentAreaCode() {
return parentAreaCode;
}
public void setParentAreaCode(String parentAreaCode) {
this.parentAreaCode = parentAreaCode;
}
public Integer getRoot() {
return root;
}
public void setRoot(Integer root) {
this.root = root;
}
public Integer getZone() {
return zone;
}
public void setZone(Integer zone) {
this.zone = zone;
}
public String getNavigateURL() {
return navigateURL;
}
public void setNavigateURL(String navigateURL) {
this.navigateURL = navigateURL;
}
}
ChinastatesDao.java
package com.oracle.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.oracle.entity.Chinastates;
public class ChinastatesDao{
public List find(Connection conn) throws Exception {
List list=new ArrayList();
String sql="select AreaCode,AreaName from chinastates where ParentAreaCode=0001";
PreparedStatement pst=conn.prepareStatement(sql);
ResultSet rs=pst.executeQuery();
while (rs.next()) {
Chinastates chinastates=new Chinastates();
chinastates.setAreaCode(rs.getString("AreaCode"));
chinastates.setAreaName(rs.getString("AreaName"));
list.add(chinastates);
}
return list;
}
}
GetProvinceServlet.java
package com.oracle.controller;
import java.io.IOException;
import java.sql.Connection;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.oracle.dao.ChinastatesDao;
import com.oracle.entity.Chinastates;
import com.oracle.util.DbUtil;
import com.oracle.util.ResponseUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class GetProvinceServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private DbUtil dbUtil=new DbUtil();
private ChinastatesDao chinastatesDao=new ChinastatesDao();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Connection conn=null;
try {
conn=dbUtil.getConn();
resp.setCharacterEncoding("utf-8");
List list=chinastatesDao.find(conn);
JSONArray jsonArray=new JSONArray();
for(Chinastates chinastates:list){
JSONObject jsonObject=new JSONObject();
jsonObject.put("areaCode",chinastates.getAreaCode());
jsonObject.put("areaName",chinastates.getAreaName());
jsonArray.add(jsonObject);
}
JSONObject result=new JSONObject();
result.put("rows",jsonArray); //rows多行
ResponseUtil.write(resp, result);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
dbUtil.close(conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
工程目录结构