<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> function loadXMLDoc() { xmlhttp = null; var country = document.getElementById("country"); country.length = 1; country.selectedIndex = 0; var province = document.getElementById("province"); if(province.value == ""){ return ; } var url="http://localhost:8080/Ajax_Province/GetProvince?&province="+encodeURIComponent(province.value); if (window.XMLHttpRequest) {// code for Firefox, Mozilla, IE7, etc. xmlhttp = new XMLHttpRequest(); } else if (window.ActiveXObject) {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlhttp != null) { xmlhttp.onreadystatechange = state_Change; xmlhttp.open("post", url, true); xmlhttp.send(null); } else { alert("Your browser does not support XMLHTTP."); } }function state_Change() { var province = document.getElementById("province"); var country = document.getElementById("country"); if (xmlhttp.readyState == 4&&xmlhttp.status == 200) {// 4 = "loaded" var serviceData = xmlhttp.responseText; if(serviceData == null||serviceData == ""){ return; } var s = serviceData.split(","); for(var i=0;i<s.length-1;i++){ country.options[i+1] = new Option(s[i],s[i]); } } } </script> </head>
<body> 出生地:<select id="province" onchange="loadXMLDoc()"> <option value="">------请选择省-----</option> <option value="江西省">江西省</option> <option value="江苏省">江苏省</option> <option value="浙江省">浙江省</option> <option value="山东省">山东省</option> <option value="辽宁省">辽宁省</option> <option value="福建省">福建省</option></select> <select id="country"><option value="">-----请选择市-----</option></select> </body> </html> servlet: import java.io.IOException; import java.io.PrintWriter; 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.neusoft.zjl.service.ProvinceService; public class GetProvince extends HttpServlet {/** * Constructor of the object. */ public GetProvince() { super(); }/** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here }/** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response); }/** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List list = null; ProvinceService provinceService = new ProvinceService(); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String strprovince = request.getParameter("province"); if(strprovince == null||"".equals(strprovince)){ return ; } String province = new String(strprovince.getBytes("ISO-8859-1"),"UTF-8"); list = provinceService.getCountry(province);//这个是查询数据库的你可以换你的对数据库的操作 if(list ==null){ return; } StringBuffer sb = new StringBuffer(); for(int i=0;i<list.size();i++){ String s = (String)list.get(i); sb.append(s+","); } response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print(sb); out.flush(); out.close(); }/** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here }}
var xmlHttp;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e2){
xmlHttp = false;
}
}
}else{
xmlHttp = new XMLHttpRequest();
}
xmlHttp.onreadystatechange=function(){
if (xmlHttp.readyState == 4) {
if(xmlHttp.status==200){
callback(xmlHttp.responseText);
}
}
}
var getUrl="http://127.0.0.1/..";
xmlHttp.open("GET",getUrl,true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
xmlHttp.send(null);
}function callback(result){
doSomething..
}
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'province.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function loadXMLDoc()
{
xmlhttp = null;
var country = document.getElementById("country");
country.length = 1;
country.selectedIndex = 0;
var province = document.getElementById("province");
if(province.value == ""){
return ;
}
var url="http://localhost:8080/Ajax_Province/GetProvince?&province="+encodeURIComponent(province.value);
if (window.XMLHttpRequest) {// code for Firefox, Mozilla, IE7, etc.
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp != null) {
xmlhttp.onreadystatechange = state_Change;
xmlhttp.open("post", url, true);
xmlhttp.send(null);
} else {
alert("Your browser does not support XMLHTTP.");
}
}function state_Change() {
var province = document.getElementById("province");
var country = document.getElementById("country");
if (xmlhttp.readyState == 4&&xmlhttp.status == 200) {// 4 = "loaded"
var serviceData = xmlhttp.responseText;
if(serviceData == null||serviceData == ""){
return;
}
var s = serviceData.split(",");
for(var i=0;i<s.length-1;i++){
country.options[i+1] = new Option(s[i],s[i]);
}
}
}
</script>
</head>
<body>
出生地:<select id="province" onchange="loadXMLDoc()">
<option value="">------请选择省-----</option>
<option value="江西省">江西省</option>
<option value="江苏省">江苏省</option>
<option value="浙江省">浙江省</option>
<option value="山东省">山东省</option>
<option value="辽宁省">辽宁省</option>
<option value="福建省">福建省</option></select> <select id="country"><option value="">-----请选择市-----</option></select>
</body>
</html>
servlet:
import java.io.IOException;
import java.io.PrintWriter;
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.neusoft.zjl.service.ProvinceService;
public class GetProvince extends HttpServlet {/**
* Constructor of the object.
*/
public GetProvince() {
super();
}/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {doPost(request, response);
}/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List list = null;
ProvinceService provinceService = new ProvinceService();
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String strprovince = request.getParameter("province");
if(strprovince == null||"".equals(strprovince)){
return ;
}
String province = new String(strprovince.getBytes("ISO-8859-1"),"UTF-8");
list = provinceService.getCountry(province);//这个是查询数据库的你可以换你的对数据库的操作
if(list ==null){
return;
}
StringBuffer sb = new StringBuffer();
for(int i=0;i<list.size();i++){
String s = (String)list.get(i);
sb.append(s+",");
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print(sb);
out.flush();
out.close();
}/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}}