三级联动菜单
linkage.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>三级菜单联动</title>
<script type="text/javascript">
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<data.rows.length;i++){
document.getElementById("province").innerHTML+="<option value='"+data.rows[i].areaCode+"'>"+data.rows[i].areaName+"</option>";
}
}
}
xmlHttp.send();
}
function getCity() {
}
function getCounty() {
}
</script>
</head>
<body>
<span>选择省:</span>
<select id="province" onchange="getCity()">
<option value="-1">-请选择省份-</option>
</select>
<span>选择市:</span>
<select id="city" onchange="getCounty()">
<option value="-1">-请选择城市-</option>
</select>
<span>选择区县:</span>
<select id="">
<option value="-1">-请选择区县-</option>
</select>
</body>
</html>
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<Chinastates> find(Connection conn) throws Exception {
List<Chinastates> list=new ArrayList<Chinastates>();
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<Chinastates> 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();
}
}
}
}
工程目录结构

oraclepeixun

浙公网安备 33010602011771号