java web项目中 如何在处理请求的页面获取到请求页面所传递的所有参数 包括post及get参数 高手进

every888 2009-04-21 03:42:43
如题
一个表单页面上具体有多少个参数,什么类型的参数,参数名,参数值都不固定(也就是说开发时不知道)
能否写一个方法通过遍历之类的操作获取页面传递过来的HttpRequest,获取里面所包含的所有的参数及参数值?最好是能获取参数类型

另外,问一下处理表单请求可以用Servlet也可以用jsp
那种的性能更好
怎么合理的使用两者?
期待大家讨论
谢谢
...全文
1463 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
witlili 2009-05-13
  • 打赏
  • 举报
回复
使用Servlet 比较好,做系统 体现的就是 面向对象的思想。Java的设计模式 ——MVC,Controller 这里就是Servlet,使用它处理好逻辑数据后发给Jsp页面,这样在Jsp页面中不用包含很多类库了,简洁,明白。
foollb999888 2009-04-24
  • 打赏
  • 举报
回复
四楼 帮顶
hongcaomei 2009-04-24
  • 打赏
  • 举报
回复
这个问题我也想问
every888 2009-04-24
  • 打赏
  • 举报
回复

Map map=request.getParameterMap();
Set keSet=map.entrySet();
for(Iterator itr=keSet.iterator();itr.hasNext();){
Map.Entry me=(Map.Entry)itr.next();
Object ok=me.getKey();
Object ov=me.getValue();
String[] value=new String[1];
if(ov instanceof String[]){
value=(String[])ov;
}else{
value[0]=ov.toString();
}

for(int k=0;k <value.length;k++){
System.out.println(ok+"="+value[k]);
}
}



Enumeration enu = request.getParameterNames();
while (enu.hasMoreElements()) {// 迭代枚举数组下一个元素
paramName = (String) enu.nextElement();
String factoryName = request.getParameter(paramName );
}


还有没有更好的方法?
zhuyang7654321 2009-04-23
  • 打赏
  • 举报
回复
可以用JavaBean
slglove 2009-04-21
  • 打赏
  • 举报
回复
request.getParameter(paramName );我是一个初学者,,我用的是这个,就可以了
gahaya 2009-04-21
  • 打赏
  • 举报
回复
Enumeration enu = request.getParameterNames();
while (enu.hasMoreElements()) { 迭代枚举数组下一个元素
paramName = (String) enu.nextElement();
String factoryName = request.getParameter(paramName );
}
xnjnmn 2009-04-21
  • 打赏
  • 举报
回复
jsp
表单提交不用servlet
那就只有用Ajax了
every888 2009-04-21
  • 打赏
  • 举报
回复
我想开发一个公用的插件
如果用servlet的话就还得配置web.xml
比较麻烦
还有
似乎有输出的话jsp比servlet要快一些
Johnson_Hong 2009-04-21
  • 打赏
  • 举报
回复

Map map=request.getParameterMap();
Set keSet=map.entrySet();
for(Iterator itr=keSet.iterator();itr.hasNext();){
Map.Entry me=(Map.Entry)itr.next();
Object ok=me.getKey();
Object ov=me.getValue();
String[] value=new String[1];
if(ov instanceof String[]){
value=(String[])ov;
}else{
value[0]=ov.toString();
}

for(int k=0;k<value.length;k++){
System.out.println(ok+"="+value[k]);
}
}
jsp还是要编译成servlet,所以sevlet会快些。
另外jsp通常只是起展示作用的,把请求的处理放在servlet使程序结构更清晰,代码可读性强一些
lucas406 2009-04-21
  • 打赏
  • 举报
回复
request.getAttributeNames();
<%
for(Enumeration e = request.getAttributeNames(); e.hasMoreElements();) {
Object o = e.nextElement();
out.println((String) o + " : " + request.getAttribute((String) o)+ " <br><hr> " );
}
%>

试试 这个
zidasine 2009-04-21
  • 打赏
  • 举报
回复
request.getParameterNames(); 获得所有参数名 然后遍历 操作
jsp最终还是要编译成servlet执行的
shagoo 2009-04-21
  • 打赏
  • 举报
回复
getParameterMap() : 把所有参数变成Map数组~~
cjg520jie 2009-04-21
  • 打赏
  • 举报
回复
getRequest().getParameter("knriNo");

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧