Servlet 后台获取XML
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的更多相关文章
- Servlet的5种方式实现表单提交(注册小功能),后台获取表单数据
用servlet实现一个注册的小功能 ,后台获取数据. 注册页面: 注册页面代码 : <!DOCTYPE html> <html> <head> <meta ...
- Hbuilder app开发,使用mui.ajax和服务器交互,后台获取不到值,显示null的解决方法
先上一个能用的js代码: function login() { var uname=document.getElementById("username").value.trim() ...
- javaWeb - 2 — ajax、json — 最后附:后台获取前端中的input type = "file"中的信息 — 更新完毕
1.ajax是什么? 面向百度百科一下就知道了,这里就简单提炼一下 Ajax即Asynchronous Javascript And XML(异步JavaScript和XML).当然其实我们学的应该叫 ...
- SpringMVC核心——参数获取与Servlet资源获取问题
一.SpringMVC 使用 @PathVariable.@RequestParam.@RequestHeader.@CookieValue 等来解决参数获取问题. 1. @PathVariable: ...
- asp.net后台获取路径的各种方法归纳
asp.net后台获取路径的各种方法归纳 1.Request.CurrentExecutionFilePath 获取当前请求的虚拟路径,不同于 FilePath,差别在于如果请求已在服务器代 ...
- Servlet中Web.xml的配置详解
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用 ...
- servlet自动获取前端页面提交数据
servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...
- ligerUI---ligerGrid分页排序的使用(从后台获取数据显示)
写在前面: 最近项目的前框框架用的是ligerUI,里面用到了ligerGrid表格,下面就来说说从后台获取数据并在前台页面进行完美展示.啊哈哈哈..(天啦,坐我旁边的丽姐貌似炒股 一个月可以搞几十万 ...
- servlet中获取配置文件中的参数.
web.xml (添加init-param) <?xml version="1.0" encoding="UTF-8"?> <web-app ...
随机推荐
- Alyona and a tree
Alyona and a tree time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- slam相关知识
Kinect视觉SLAM技术介绍 http://www.open-open.com/news/view/ce76e2 本文介绍SLAM的历史.理论以及实现的方式,且主要介绍基于视觉(Kinect)的实 ...
- iOS开发 自定义UIAlertController的样式
引言: 关于提示框, 系统自带的提示框有时可能满足不了我们的需求, 比如一个提示框的取消按钮我需要灰色字体显示, 这时候就需要自定义提示框的样式了. 示例图 苹果自iOS8开始,就已经废弃了之前用于界 ...
- radiobutton以及checkbox背景图片拉伸变形的问题
设置RadioButton的text属性,只需要有这个属性就可以(设置“”内容就行),然后再添加textsize属性,将字体大小属性值设置为比较小,我设置为2sp.运行后我们会发现图片变形问题不复存在 ...
- inflate的使用注意事项
public View inflate (int resource, ViewGroup root, boolean attachToRoot) 我们在使用这个方法时,要清楚原理,下面是这个方法的文档 ...
- <context:component-scan>
首先看配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...
- MC 自己平均
using System; using System.Drawing; using System.Linq; using System.Collections; namespace PowerLang ...
- 在Mac下显示所有文件
显示所有隐藏文件: 第一个命令:defaults write com.apple.finder AppleShowAllFiles TRUE 回车后,迫使系统将用户资源库里Preferences文件夹 ...
- CentOS 7 rsync
CentOS 7 rsync 1)软件简介 Rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件.Rsync 本来是用以取代rcp 的一个工具,它当前由 Rsync.s ...
- EF6 第一次,或者相隔一段时间变慢咋办? 我们来优化下
第一.问题原因分析 EF方面的原因: 1.Code First第一次启动会对比程序中的Model与数据库表(database initializer ),生成Model与数据库的映射视图 2.随着EF ...