j2me 获取参数 查询 数据库后显示查询后的信息,各位大虾帮下小弟啊,先谢啦

问题描述

服务器端代码:publicclasstableextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publictable(){//TODOAuto-generatedconstructorstub}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubthis.doPost(request,response);}protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//创建数据输入流DataInputStreamdis=newDataInputStream(request.getInputStream());//读取客户端发送的查询数据intmode=dis.readInt();StringtableQuery=dis.readUTF();//StringtableQuery=request.getParameter("tableQuery");//StringtableQueryType=request.getParameter("tableQueryType");//response.setContentType("text/html;charset=gb2312");//构建输出流ByteArrayOutputStreambaos=newByteArrayOutputStream();DataOutputStreamdos=newDataOutputStream(baos);//查询处理Stringurl="jdbc:odbc:MSAccessDatabase;DBQ=D:\moveteach.mdb";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionconn=DriverManager.getConnection(url);Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery("select*fromcourse");//dos.writeUTF(tableQuery);System.out.println(tableQuery);while(rs.next()){//响应数据dos.writeUTF("星期:"+rs.getString("week"));dos.writeUTF("课程:"+rs.getString("coursename"));dos.writeUTF("任课老师:"+rs.getString("teacher"));dos.writeUTF("教室:"+rs.getString("classroom"));dos.writeUTF("班级:"+rs.getString("classes"));}//设置服务器响应参数response.setContentType("application/octet-stream");byte[]data=baos.toByteArray();response.setStatus(HttpServletResponse.SC_OK);response.setContentLength(data.length);//获得响应输出流,写出响应数据ServletOutputStreamsos=response.getOutputStream();OutputStreamos=newDataOutputStream(sos);System.out.println("Ok");os.write(data);dos.flush();rs.close();stmt.close();conn.close();os.close();}catch(Exceptione){}}客户端代码局部:publicvoidtableServer(){try{Stringurl="http://localhost:8080/moveteachservlet/table.do";//查询条件StringtableQuery=this.tableQuery.getString();//inttableQueryType=this.tableQueryType;HttpConnectionconn=(HttpConnection)Connector.open(url);//设置请求类型为POSTconn.setRequestMethod(HttpConnection.POST);//设置一般的请求属性conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");conn.setRequestProperty("User-Agent","Profile/MIDP-1.0Configuration/CLDC-1.0");conn.setRequestProperty("Content-Language","en-US");conn.setRequestProperty("Accept","application/octet-stream");conn.setRequestProperty("Connection","close");StringformData="tableQuery="+tableQuery;rTableForm.append(formData);//转换显字节流byte[]data=formData.getBytes();//设置写入流的长度conn.setRequestProperty("Content-Length",Integer.toString(data.length));OutputStreamos=conn.openOutputStream();os.write(data);os.flush();//获得响应状态intstatus=conn.getResponseCode();//读取服务器的响应数据rTableForm.append("11");DataInputStreamdism=newDataInputStream(conn.openInputStream());//读取服务器返回的字节流//Stringresult=dism.readUTF();//rTableForm.append(result);rTableForm.append("22");while(dism.readUTF()!=null)//判断当数据流不为空的时候{rTableForm.append(dism.readUTF());//用readUTF()方法构造字符串放在StringBuffer里rTableForm.append("/n");}rTableForm.append("33");dism.close();}catch(Exceptione){System.out.println(e);}}………………………………elseif(cmd==cmdTableQuery){//课表查询newThread(newRunnable(){synchronizedpublicvoidrun(){try{tableServer();}catch(Exceptione){e.printStackTrace();}}}).start();display.setCurrent(rTableForm);//sm=newsendTable(this);//调用sendMsg类,将本类作为参数传入//display.setCurrent(sm);//显示sendMsg类}………………

解决方案

解决方案二:
服务端获得响应输出流后,写出了data,客户端读取的时候,也要读取输入流InputStream,然后套上字节输入流DataInputStream,,然后再按顺序readUTF()..
解决方案三:
已经解决了,谢谢了,

时间: 2024-12-29 13:38:48

j2me 获取参数 查询 数据库后显示查询后的信息,各位大虾帮下小弟啊,先谢啦的相关文章

mysql-编写JSP页面查询数据库不显示查询的结果

问题描述 编写JSP页面查询数据库不显示查询的结果 <% try{ Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test2", "root","xiaojuan00"); Statement stat=conn.createStatement

查询数据库并显示在另一个页面中

问题描述 查询数据库并显示在另一个页面中 protected void submitPhone_Click(object sender, EventArgs e) { System.Data.SqlClient.SqlConnection conn = new SqlConnection(); conn.ConnectionString = ConfigurationManager.ConnectionStrings["DateCenter"].ConnectionString; Da

json-各位大神 请问我序列化时数据库数据应该做成什么格式的呢?帮帮忙 小弟初学

问题描述 各位大神 请问我序列化时数据库数据应该做成什么格式的呢?帮帮忙 小弟初学 我要从数据库中将数据放到datetable中然后序列化成下边这种json格式的数据 请问我数据库中数据应该怎么存贮呢? . json数据 [{"CountryName": "阿拉伯联合酋长国","Province": [{"ProvinceName": "Bahrani","City": [{"

查询数据库中,表结构的详细信息

数据|数据库 SELECT  表名=case when a.colorder=1 then d.name else '' end, 字段序号=a.colorder, 字段名=a.name, 标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end, 主键=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (  

Resultse.updateRow()更新数据库失败 恳请各位大虾帮下忙

问题描述 publicvoidtableChanged(TableModelEvente){//数据改变后的操作,相信还可以写得更好System.out.println(e.getFirstRow()+":"+e.getColumn());//e.getColumn()==-1,表示插入新行,在后面可以写对新行的操作,这里就不废话了if(e.getColumn()!=-1){Objecto;//这两列是两个成绩,修改后更新总分和几个判断if(e.getColumn()==3||e.ge

PHP查询数据库并分栏显示结果

PHP查询MySQL数据库,并将结果分栏显示,如下代码: <html>  <head>  <?php   session_start();  include("conn.php"); ?>  <title>查询结果的分栏显示 - www.cxybl.com</title>  </head>  <body>  <table width="450" border="1&q

java指定查询数据库表内容并用一个二维数组a来显示出现的问题

问题描述 主要通过"元件名"和"生产厂家"2个内容来查询数据库并显示结果部分代码如下:Objecta[][];Objectcolname[]={"元件名","生产厂家"};.....a=newObject[30][2];table=newJTable(a,colname);......if(eb.getSource()==b_enter){try{inti=0;sqll=sql.connect();a1="'&quo

如何创建缓存机制,不用频繁查询数据库

问题描述 如何创建缓存机制,不用频繁查询数据库 无法分页查询数据库,但是页面要分页显示,只能全部查询数据库后页面进行分页,如何把数据库里的查询数据放到一个缓存中,每次分页请求的时候不用再查询数据库 解决方案 根据你的语言,C++可以用set vector,Java可以用HashSet ArrayList,C#可以用List Dictionary 解决方案二: 用memcached,redis等内存数据库 解决方案三: 为什么不能查询分页数据库??数据量不太多就自己写个集合 放在内存里 解决方案四

Java8中使用流方式查询数据库的方法_java

由于关系型数据库操作语言和面向对象语言之间的差异,如今我们仍然需要花费许多时间建立数据库与 Java 应用之间互相沟通的桥梁.通常,我们可以编写自己的映射层(mapping layer),或者使用第三方的 ORM(Object Relational Mapper)对象关系映射框架,比如 Hibernate.ORM 框架虽然使用起来很方便,但是如何正确地配置和提高框架操作数据库的性能却不太容易,ORM 框架往往会使我们的应用性能下降. 最近,我贡献了一个新的开源项目--Speedment,它能使我