




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2010-05-27ajax联动菜单文章分类:Web前端 /model层:Area.javaJava代码 1. packagecom.wdpc.ajax.model; 2. 3. publicclassArea 4. privateintareaId;/市id 5. privateStringareaName;/区域名 6. privateintareaPid;/区域id 7. 8. /构造函数 9. publicArea(intareaId,StringareaName,intareaPid) 10. super(); 11. this.areaId=areaId; 12. this.areaName=areaName; 13. this.areaPid=areaPid; 14. 15. 16. /get,set方法 17. publicintgetAreaId() 18. returnareaId; 19. 20. 21. publicvoidsetAreaId(intareaId) 22. this.areaId=areaId; 23. 24. 25. publicStringgetAreaName() 26. returnareaName; 27. 28. 29. publicvoidsetAreaName(StringareaName) 30. this.areaName=areaName; 31. 32. 33. publicintgetAreaPid() 34. returnareaPid; 35. 36. 37. publicvoidsetAreaPid(intareaPid) 38. this.areaPid=areaPid; 39. 40. package com.wdpc.ajax.model;public class Area private int areaId;/市 idprivate String areaName;/区域名private int areaPid;/区域id/构造函数public Area(int areaId, String areaName, int areaPid) super();this.areaId = areaId;this.areaName = areaName;this.areaPid = areaPid;/get,set方法public int getAreaId() return areaId;public void setAreaId(int areaId) this.areaId = areaId;public String getAreaName() return areaName;public void setAreaName(String areaName) this.areaName = areaName;public int getAreaPid() return areaPid;public void setAreaPid(int areaPid) this.areaPid = areaPid; /dao层: Java代码 1. ms; 2. 3. importjava.sql.Connection; 4. importjava.sql.PreparedStatement; 5. importjava.sql.ResultSet; 6. importjava.sql.SQLException; 7. importjavax.naming.Context; 8. importjavax.naming.InitialContext; 9. importjavax.sql.DataSource; 10. 11. publicclassDbManager 12. publicstaticConnectiongetConnection() 13. Connectionconn=null; 14. try 15. Contextcontext=newInitialContext(); 16. DataSourceds=(DataSource)context.lookup(java:comp/env/jdbc/ajax); 17. conn=ds.getConnection(); 18. catch(Exceptione) 19. e.printStackTrace(); 20. 21. returnconn; 22. 23. 24. publicstaticvoidcloseConnection(Connectionconn,PreparedStatementpst,ResultSetrs) 25. try 26. if(rs!=null) 27. rs.close(); 28. 29. if(pst!=null) 30. pst.close(); 31. 32. if(conn!=null) 33. conn.close(); 34. 35. catch(SQLExceptione) 36. e.printStackTrace(); 37. 38. 39. package ms;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.naming.Context;import javax.naming.InitialContext;import javax.sql.DataSource;public class DbManager public static Connection getConnection()Connection conn = null;try Context context = new InitialContext();DataSource ds = (DataSource) context.lookup(java:comp/env/jdbc/ajax);conn = ds.getConnection(); catch (Exception e) e.printStackTrace();return conn;public static void closeConnection(Connection conn,PreparedStatement pst,ResultSet rs)tryif(rs !=null)rs.close();if(pst !=null)pst.close();if(conn !=null)conn.close();catch(SQLException e)e.printStackTrace(); /AreaDao.java Java代码 1. packagecom.wdpc.ajax.dao; 2. 3. importjava.sql.Connection; 4. importjava.sql.PreparedStatement; 5. importjava.sql.ResultSet; 6. importjava.sql.SQLException; 7. importjava.util.ArrayList; 8. importjava.util.List; 9. ms.DbManager; 10. importcom.wdpc.ajax.model.Area; 11. 12. publicclassAreaDao 13. publicListfindAreaByPid(intpid) 14. Connectionconn=DbManager.getConnection();/获取连接 15. PreparedStatementpst=null; 16. ResultSetrs=null;/结果集 17. Listlist=newArrayList(); 18. 19. try 20. /执行语句 21. pst=conn.prepareStatement(select*fromareawhereareaId=?); 22. pst.setInt(1,pid); 23. rs=pst.executeQuery(); 24. /遍历结果 25. while(rs.next() 26. list.add(newArea(rs.getInt(1),rs.getString(2),rs.getInt(3); 27. 28. catch(SQLExceptione) 29. e.printStackTrace(); 30. finally 31. DbManager.closeConnection(conn,pst,rs);/关闭 32. 33. returnlist; 34. 35. package com.wdpc.ajax.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import ms.DbManager;import com.wdpc.ajax.model.Area;public class AreaDao public List findAreaByPid(int pid) Connection conn = DbManager.getConnection();/获取连接PreparedStatement pst = null;ResultSet rs = null;/结果集List list = new ArrayList();try /执行语句pst = conn.prepareStatement(select * from area where areaId =?);pst.setInt(1, pid);rs = pst.executeQuery();/遍历结果while (rs.next() list.add(new Area(rs.getInt(1), rs.getString(2), rs.getInt(3); catch (SQLException e) e.printStackTrace(); finally DbManager.closeConnection(conn, pst, rs);/关闭return list; /service层:AreaService.java Java代码 1. packagecom.wdpc.ajax.service; 2. 3. importjava.util.List; 4. importcom.wdpc.ajax.model.Area; 5. 6. publicinterfaceAreaService 7. publicListfindAreaByPid(intpid); 8. package com.wdpc.ajax.service;import java.util.List;import com.wdpc.ajax.model.Area;public interface AreaService public List findAreaByPid(int pid); /实现service层:AreaServiceImpl.java Java代码 1. packagecom.wdpc.ajax.service.impl; 2. 3. importjava.util.List; 4. importcom.wdpc.ajax.dao.AreaDao; 5. importcom.wdpc.ajax.model.Area; 6. importcom.wdpc.ajax.service.AreaService; 7. 8. publicclassAreaServiceImplimplementsAreaService 9. privateAreaDaoareaDao; 10. 11. publicAreaServiceImpl() 12. areaDao=newAreaDao(); 13. 14. 15. /通过id获取区域 16. publicListfindAreaByPid(intpid) 17. returnareaDao.findAreaByPid(pid); 18. 19. package com.wdpc.ajax.service.impl;import java.util.List;import com.wdpc.ajax.dao.AreaDao;import com.wdpc.ajax.model.Area;import com.wdpc.ajax.service.AreaService;public class AreaServiceImpl implements AreaService private AreaDao areaDao;public AreaServiceImpl() areaDao = new AreaDao();/通过id获取区域public List findAreaByPid(int pid) return areaDao.findAreaByPid(pid); /action层:AreaServlet.java Java代码 1. packagecom.wdpc.ajax.action; 2. 3. importjava.io.IOException; 4. importjava.io.PrintWriter; 5. importjava.util.ArrayList; 6. importjava.util.List; 7. importjavax.servlet.ServletException; 8. importjavax.servlet.http.HttpServlet; 9. importjavax.servlet.http.HttpServletRequest; 10. importjavax.servlet.http.HttpServletResponse; 11. importcom.wdpc.ajax.model.Area; 12. importcom.wdpc.ajax.service.AreaService; 13. importcom.wdpc.ajax.service.impl.AreaServiceImpl; 14. 15. publicclassAreaServletextendsHttpServlet 16. privateAreaServiceareaService; 17. 18. publicAreaServlet() 19. areaService=newAreaServiceImpl(); 20. 21. 22. publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) 23. throwsServletException,IOException 24. doPost(request,response); 25. 26. publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) 27. throwsServletException,IOException 28. request.setCharacterEncoding(utf-8);/请求时编码方式 29. response.setCharacterEncoding(utf-8);/响应时编码方式 30. Listlist=newArrayList(); 31. PrintWriterout=response.getWriter(); 32. intpid=-1; 33. try 34. pid=Integer.parseInt(request.getParameter(pid);/获取JSP页面传过来的pid 35. catch(NumberFormatExceptione) 36. 37. 38. if(pid!=-1) 39. list=areaService.findAreaByPid(pid); 40. out.print(getAreaXML(list); 41. 42. out.flush(); 43. out.close(); 44. 45. 46. privateStringgetAreaXML(Listlist) 47. Stringstr=; 48. if(list!=null&list.size()0) 49. for(Areaarea:list) 50. str+=; 53. 54. 55. str+=; 56. returnstr; 57. 58. package com.wdpc.ajax.action;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;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.wdpc.ajax.model.Area;import com.wdpc.ajax.service.AreaService;import com.wdpc.ajax.service.impl.AreaServiceImpl;public class AreaServlet extends HttpServlet private AreaService areaService;public AreaServlet() areaService = new AreaServiceImpl();public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);/请求时编码方式response.setCharacterEncoding(utf-8);/响应时编码方式List list = new ArrayList();PrintWriter out = response.getWriter();int pid = -1;try pid = Integer.parseInt(request.getParameter(pid);/获取JSP页面传过来的pid catch (NumberFormatException e) if (pid != -1) list = areaService.findAreaByPid(pid);out.print(getAreaXML(list);out.flush();out.close();private String getAreaXML(List list) String str = ;if (list != null & list.size() 0) for (Area area : list) str += ;str += ;return str; /数据源(context.xml) Java代码 1. 2. 7. 此xml放到META-INF下 /my.js 支持的浏览器Java代码 1. functionGetXmlHttpObject() 2. varxmlHttp=null; 3. try 4. /Firefox,Opera8.0+,Safari 5. xmlHttp=newXMLHttpRequest(); 6. catch(e) 7. /InternetExplorer 8. try 9. xmlHttp=newActiveXObject(Msxml2.XMLHTTP); 10. catch(e) 11. xmlHttp=newActiveXObject(Microsoft.XMLHTTP); 12. 13. 14. returnxmlHttp; 15. 16. 17. functionloadXMLDoc(filepath) 18. varxmlDoc=null; 19. try/InternetExplorer 20. xmlDoc=newActiveXObject(Microsoft.XMLDOM); 21. catch(e) 22. try/Firefox,Mozilla,Opera,etc. 23. xmlDoc=document.implementation.createDocument(,null); 24. catch(e) 25. alert(e.message); 26. 27. 28. 29. try 30. xmlDoc.async=false; 31. xmlDoc.load(filepath); 32. catch(e) 33. alert(e.message) 34. 35. returnxmlDoc; 36. 37. 38. functionloadXMLString(str) 39. varxmlStr=null; 40. try/InternetExplorer 41. xmlStr=newActiveXObject(Microsoft.XMLDOM); 42. xmlStr.async=false; 43. xmlStr.loadXML(str); 44. catch(e) 45. try/Firefox,Mozilla,Opera,etc. 46. varparser=newDOMParser(); 47. xmlStr=parser.parseFromString(str,text/xml); 48. catch(e) 49. alert(e.message); 50. 51. 52. returnxmlStr; 53. function GetXmlHttpObject()var xmlHttp=null;try / Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); catch (e) / Internet Explorer try xmlHttp=new ActiveXObject(Msxml2.XMLHTTP); catch (e) xmlHttp=new ActiveXObject(Microsoft.XMLHTTP); return xmlHttp;function loadXMLDoc(filepath)var xmlDoc = null;try/Internet ExplorerxmlDoc = new ActiveXObject(Microsoft.XMLDOM);catch(e)try/Firefox, Mozilla, Opera, etc.xmlDoc = document.implementation.createDocument(,null);catch(e)alert(e.message);tryxmlDoc.async = false;xmlDoc.load(filepath);catch(e)alert(e.message)return xmlDoc;function loadXMLString(str)var xmlStr = null;try/Internet ExplorerxmlStr = new ActiveXObject(Microsoft.XMLDOM);xmlStr.async=false;xmlStr.loadXML(str);catch(e)try/Firefox, Mozilla, Opera, etc.var parser=new DOMParser();xmlStr = parser.parseFromString(str,text/xml);catch(e)alert(e.message);return xmlStr; /index.jsp Java代码 1. 2. 3. 4. 5. 6. 7. 8. ajax示例 9. 10. 11. 12. varxmlHttp=GetXmlHttpObject(); 13. functiongetArea(area_id,selectId) 14. if(xmlHttp=null) 15. alert(您的浏览器不支持AJAX!); 16. return; 17. 18. xmlHttp.onreadystatechange=function() 19. /在这里,我们可以处理从服务器返回的数据,首先判断一下数据是否成功返回 20. if(xmlHttp.readyState=4) 21. vartext=xmlHt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 效应分析题目及答案解析
- 掰手腕作文500字初中初一作文(13篇)
- 最美的青春初三作文最美的青春作文10篇范文
- 时间小主人课件
- 物理性质和社会变迁探究之浮力的教案
- 三农项目融资策划与实施方案手册
- 蓝色痛风预防和护理
- 统编版(部编版)小学三年级语文上学期第五单元分类训练题:句子练习(附答案)
- 纪念英雄的课件
- 快乐的一天300字10篇
- 2025年通信专业技术-通信专业技术(中级)-中级通信专业技术(交换技术实务)历年参考题库含答案解析(5套)
- 《丙型肝炎防治指南》
- 2025年湖北省工程专业中级职务水平能力测试(电子信息)经典试题及答案
- 2025至2030年中国酒店布草行业市场全景评估及投资前景展望报告
- 中小学校长在2025秋季开学第一次全体教师大会上讲话:人心决定温度人格决定高度人品决定厚度
- (2025年标准)供暖采暖协议书
- 2025年应急管理普法知识竞赛历年参考题库含答案详解(5套)
- 2025至2030中国非标自动化行业发展趋势分析与未来投资战略咨询研究报告
- 个人挂靠劳务公司协议书
- 2025年小学生爱粮节粮科普知识竞赛试题(含答案)
- 2025驾驶员安全教育培训考试试卷(及答案)
评论
0/150
提交评论