D

package net.nw.servlet;
import java.io.IOException;
import java.io.PrintWriter; import javassist.expr.NewArray; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import net.nw.dao.Conn;
import net.nw.dao.ModelcodesDAO; import java.sql.*;
import java.util.ArrayList;
import java.util.List; public class DateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private ModelcodesDAO mcd = new ModelcodesDAO();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String where = null;
String currdate= request.getParameter("currdate");
String projectname=request.getParameter("projectname");
String codeid = request.getParameter("modelname");
String mname = mcd.getNameById(Integer.parseInt(codeid));
where="where ProjectName like '%"+projectname+"%' AND ModelCode like '%"+mname+"%'"; StringBuffer xmlDOM = new StringBuffer();
ResultSet rs=null;
rs = this.getResultSet(where);
xmlDOM.append("<root>");
try {
xmlDOM.append("<defects>");
while (rs.next()) {
xmlDOM.append("<defectmonth>");
xmlDOM.append("<Day1>" + rs.getString("Day1") + "</Day1>");
xmlDOM.append("<Day2>" + rs.getString("Day2") + "</Day2>");
xmlDOM.append("</defectmonth>");
request.setAttribute("daay1", rs.getString("Day1"));
System.out.println(request.getAttribute("daay1"));
}
rs.close();
xmlDOM.append("</defects>");
} catch (SQLException e) {
System.out.println(e.getMessage());
} xmlDOM.append("</root>");
this.print(request, response, xmlDOM.toString());
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
} private void print(HttpServletRequest request, HttpServletResponse response,String xmlDOM) throws IOException{
response.setCharacterEncoding("utf-8");
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
out.print(xmlDOM);
out.close();
} private ResultSet getResultSet(String where){
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = getConn();
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
} catch (SQLException e) {
System.out.println(e.getMessage());
} String sql = "select * from defects_infor_daily "+where;
System.out.println(sql);
//String sql = "select top "+len+" * from person where pid >= ? order by pid"; try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return rs;
} private Connection getConn() throws ClassNotFoundException, SQLException{ String driver = "com.mysql.jdbc.Driver";
String url="jdbc:mysql://109.110.100.56/tsdr_project";
String user="root";
String password="";
Class.forName(driver);
System.out.println("��ݿ�����");
return DriverManager.getConnection(url,user,password); } }

前台获取

  var js = {
XMLHttp:null,
//发送请求函数
sendRequest:function(url,responseFun,callback){
//创建XMLHTTPRequest对象
(function(){
//根据浏览器类型创建XMLHTTPRequest对象
if(window.XMLHttpRequest){
js.XMLHttp = new XMLHttpRequest();
}
else{
try{
js.XMLHttp = new ActionXObject("Msxml2.XMLHTTP");
}catch (e){
  try{
js.XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e0){alert("Microsoft"+e0);}
}
} })(); js.XMLHttp.open("POST", url, true);
js.XMLHttp.onreadystatechange = function(responseFunction){
  if(js.XMLHttp.readyState == 4){
if(js.XMLHttp.status == 200){
responseFun(js.XMLHttp);
}else{
document.getElementById("canvasDivZhe").innerHTML = "<font color='red'>连接服务器异常...</font>" ;
}
  }
  else{
//document.getElementById("div").innerHTML = "<font color='red'>数据加载中...</font>" ;
  }
};//指定响应函数
js.XMLHttp.send(null);
return js.XMLHttp;
}
  };   //响应函数
  function responseFunction(xmlhttp){
var xmlDOM = xmlhttp.responseXML; //接受服务器返回的xml文档
//document.getElementById("div").innerHTML =xmlhttp.responseText;
//alert(xmlhttp.responseText);
parse(xmlDOM);//解析XML文档
  } //解析XML文档
  function parse(xmlDOM){
//alert(xmlDOM);
//var da=#request.daay1;
var person = xmlDOM.getElementsByTagName("defectmonth");
var day1=person[0].getElementsByTagName("Day1")[0].firstChild.data;
alert(day1); }//function end
//主调函数,以当前页作为参数
  function AjaxTest(currdate,projectname,modelname) {
var projectname="<%=session.getAttribute("projectname_session")%>";
var modelname= document.getElementById("codeid").value;
//alert(currdate+ " " +projectname+" "+modelname);
js.sendRequest("DateServlet?currdate="+currdate+"&projectname="+projectname+"&modelname="+modelname,responseFunction,null);
  }

Servlet 后台获取XML的更多相关文章

  1. Servlet的5种方式实现表单提交(注册小功能),后台获取表单数据

    用servlet实现一个注册的小功能 ,后台获取数据. 注册页面: 注册页面代码 : <!DOCTYPE html> <html> <head> <meta ...

  2. Hbuilder app开发,使用mui.ajax和服务器交互,后台获取不到值,显示null的解决方法

    先上一个能用的js代码: function login() { var uname=document.getElementById("username").value.trim() ...

  3. javaWeb - 2 — ajax、json — 最后附:后台获取前端中的input type = "file"中的信息 — 更新完毕

    1.ajax是什么? 面向百度百科一下就知道了,这里就简单提炼一下 Ajax即Asynchronous Javascript And XML(异步JavaScript和XML).当然其实我们学的应该叫 ...

  4. SpringMVC核心——参数获取与Servlet资源获取问题

    一.SpringMVC 使用 @PathVariable.@RequestParam.@RequestHeader.@CookieValue 等来解决参数获取问题. 1. @PathVariable: ...

  5. asp.net后台获取路径的各种方法归纳

    asp.net后台获取路径的各种方法归纳   1.Request.CurrentExecutionFilePath    获取当前请求的虚拟路径,不同于 FilePath,差别在于如果请求已在服务器代 ...

  6. Servlet中Web.xml的配置详解

    1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用 ...

  7. servlet自动获取前端页面提交数据

    servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...

  8. ligerUI---ligerGrid分页排序的使用(从后台获取数据显示)

    写在前面: 最近项目的前框框架用的是ligerUI,里面用到了ligerGrid表格,下面就来说说从后台获取数据并在前台页面进行完美展示.啊哈哈哈..(天啦,坐我旁边的丽姐貌似炒股 一个月可以搞几十万 ...

  9. servlet中获取配置文件中的参数.

    web.xml (添加init-param) <?xml version="1.0" encoding="UTF-8"?> <web-app ...

随机推荐

  1. 安装cocoapods遇到的一些问题

    其实可以直接到https://github.com/CocoaPods/Specs上把所需的文件夹下载下来 解压后命名为master放在本地的 ~/.cocoapods/repos  下面就行 但是使 ...

  2. 《Think in UML》读后感

  3. 阅读《大道至简第一章》读后感(java伪代码)

    大道至简讲述的是软件工程实践者的思想,书的第一章引用了著名的----愚公移山这一历史故事,向我们讲述了编程的精义.汤问篇中所述的愚公移山这一事件,我们看到了原始需求的产生---“惩山北之塞,出入之迂” ...

  4. ios xcode中所有自带的字体如下(最好结合NSMutableAttributedString相结合使用)

    // 打印系统中所有字体的类型名字 NSArray *familyNames = [UIFont familyNames]; for(NSString *familyName in familyNam ...

  5. WinDbg抓取程序报错dump文件的方法

    程序崩溃的两种主要现象: a. 程序在运行中的时候,突然弹出错误窗口,然后点错误窗口的确定时,程序直接关闭 例如: “应用程序错误” “C++错误之类的窗口” “程序无响应” “假死”等 此种崩溃特点 ...

  6. java 多线程 一个博客

    http://blog.csdn.net/a352193394/article/category/2563875 Java多线程之~~~线程安全容器的非阻塞容器 在并发编程中,会经常遇到使用容器.但是 ...

  7. kafka和flume的对比

    摘要: (1)kafka和flume都是日志系统.kafka是分布式消息中间件,自带存储,提供push和pull存取数据功能.flume分为agent(数据采集器),collector(数据简单处理和 ...

  8. ios控件 UILabel

    UILabel 的作用是显示文本 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 40)]; lab ...

  9. php---数组序列化

    有两种选择:serialize,json_encode. 需求:对数组进行序列化后保存在文件中,以便爬虫来抓取文件.并且序列化后的字符串只有一行,不希望在该字符串中出现换行,即使数组中某个元素中有换行 ...

  10. Eclipse下配置和使用Hibernate Tools

    本文转自:http://radiumwong.iteye.com/blog/358585 Hibernate Tools可以通过访问已经建立好的数据库以反向工程方式生成POJO文件. 今天就来说一下如 ...