站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题有关页面传值的问题,急(解决立马给分)!

有关页面传值的问题,急(解决立马给分)!

摘要: 有关页面传值的问题,急(解决立马给分)!


我写了2个jsp页面:urlsubmit.jsp和rec.jsp
urlsubmit.jsp页面用URL 和 HttpURLConnection对象,向rec.jsp传流。
现在的问题是在Websphere下rec.jsp页面里面的Part1和Part2(见下面代码),总有一个取不到值,即哪个放前面那个就可以获得相应的值,而放在后面的部分就没法获取来自urlsubmit.jsp传过来的值。
如果有知道的高人,麻烦指点一下。

代码如下:
urlsubmit.jsp页面:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.io.*" %>
<%@ page import="java.net.*" %>
<%
String strDescription = "备了一把螺丝刀,开工……拆机…….此次拆机的目的是想见识一下神舟笔记本电脑究竟采用了一些什么样的配件,因为以前听说除了硬盘以外,神舟笔记本全部采用的是台式机配件,这话说得有点不*谱,最起码键盘得用笔记本小键盘吧,机箱得像个笔记本的样子吧……哈哈哈哈!";
String strBack = "";
String strUrl = "http://192.1.1.13:9080/jcms/interface/rec.jsp?userid=0001&username=chw";
try{
URL objUrl = new URL(strUrl);
HttpURLConnection urlConn = (HttpURLConnection) objUrl.openConnection();
urlConn.setRequestMethod("POST");
urlConn.setDoOutput(true);
OutputStream outStream = urlConn.getOutputStream();
outStream.write(("xml="+URLEncoder.encode(strDescription,"UTF-8")).getBytes()) ;
outStream.flush();
outStream.close();
System.out.println("[SYS] POST result = "
+ urlConn.getResponseMessage() );

//取出返回数据
InputStream ins2 = urlConn.getInputStream();
strBack = convertStreamToString(ins2);
ins2.close();

}catch(Exception ex){
System.out.println("Transport data error!");
}
out.println("strBack==========="+strBack);
%>
<%!
protected String convertStreamToString(InputStream ins) {
String strRet = "";
try {
StringBuffer sbuf = new StringBuffer();
InputStreamReader reader = new InputStreamReader(ins, "UTF-8");
Reader buf = new BufferedReader(reader);
int ch;
int iCharNum = 0;
while ((ch = buf.read()) > -1) {
iCharNum += 1;
sbuf.append((char) ch);
}
buf.close();
strRet = sbuf.toString();
sbuf.delete(0, sbuf.length());
} catch (Exception e) {
e.printStackTrace();
return "";
}
return strRet;
}
%>


rec.jsp页面 代码如下:
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="java.io.*" %>
<% //request.setCharacterEncoding("UTF-8");
String userid = "";
String username = "";
String strContent = "";
/***********************Part1 Begin*************************************/
userid = request.getParameter("userid");
userid = userid==null?"":userid;
username = request.getParameter("username");
username = username==null?"":username;

/***********************Part1 End*************************************/


/***********************Part2 Begin*************************************/
ByteArrayOutputStream stm=null;
byte[] buf;
int n;
InputStream in = null ;
try
{
buf=new byte[4096];
stm=new ByteArrayOutputStream();
in = (InputStream)request.getInputStream();
n=0;
//2006-7-4wd修改
//请不要使用new io读取,采用2进制流是最保险得
while (n>=0 )
{
n=in.read(buf);
if (n>0)
{
stm.write(buf,0,n);
}
}
}
catch( Exception e)
{
System.out.println("[SYS] Read POST data error!");
e.printStackTrace();
}
try
{
strContent =stm==null?"":stm.toString("UTF-8");

}catch( Exception ex )
{ ex.printStackTrace(); }
/***********************Part2 End*************************************/

out.println("userid===="+userid+"
username===="+username+"
strContent===="+strContent);
%>

注意:该情况在WebSphere5.1中文版中出现,在Tomcat、Weblogic下面可以正常接受数据(但需把Part1部分移到Part2后面)。


你把rec.jsp页面改成Servlet试试看。

其实不是很懂,帮顶。


谢谢 nccxl(小猪的狗熊)的建议,不过我想搞明白为什么会有这样的问题。
期待高人出现......


自己多调试,对自己的进步很有帮助


http://www.lesun.org/html/2003-02/16703.htm


这个得看jsp的手册


to: allright_flash() 朋友你怎么知道我没有调试啊,忙了2天了都没有解决,然后也找不到资料才来求助的!


没人来了啊?结贴!


↑返回目录
前一篇: 我用jspsmart上传图片后,cpu就占用100%,这个问题怎么解决?
后一篇: WEBWORK下拉框问题~~~急~~在线等`~~~高手进