java web实例训练知识错误总结(三)

news/2025/2/25 18:44:13

 

一、request的getParameter()和getAttribute()的区别

getParameter 是用来接受用post个get方法传递过来的参数的.
getAttribute 必须先setAttribute.

(1)request.getParameter() 取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。

(2)request.getParameter() 方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。

request.setAttribute() 和 getAttribute() 方法传递的数据只会存在于Web容器内部

还有一点就是,HttpServletRequest 类有 setAttribute() 方法,而没有setParameter() 方法。

拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.jsp链接到2.jsp时,被链接的是2.jsp可以通过getParameter()方法来获得请求参数.

假如1.jsp里有

 
  1. 1 <form name="form1" method="post" action="2.jsp">  
    2 请输入用户姓名:<input type="text" name="username">  
    3 <input type="submit" name="Submit" value="提交">  
    4 </form>  

的话在2.jsp中通过request.getParameter("username")方法来获得请求参数username:

1 < % String username=request.getParameter("username"); %>  

但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。

有1.jsp和2.jsp

1.jsp希望向2.jsp传递当前的用户名字,如何传递这一数据呢?先在1.jsp中调用如下setAttribute()方法:

Html代码  收藏代码
1 <%  
2 String username=request.getParameter("username");  
3 request.setAttribute("username",username);  
4 %>  
5   
6 <jsp:forward page="2.jsp" />  
7  

在2.jsp中通过getAttribute()方法获得用户名字:

1 <% String username=(String)request.getAttribute("username"); %>  

(1)HttpServletRequest 类有setAttribute()方法,而没有setParameter()方法


(2) 当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,


(3) 当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。


一般通过表单和链接传递的参数使用getParameter

通过request.setAttribute("name","jerry")的方式赋值的使用request.getAttribute("name")


这个问题主要是request和session的差别,request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作, request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。

而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。这之间都可以传递参数,比如很多网站的用户登录都用到了。


一般可以用getParameter得到页面参数。。。字符串。。。

getAttribute()可以得到对象。。。


getParameter可以得到页面传来的参数如?id=123之类的。

getAttribute()常用于servlet页面传递参数给jsp

二、JSTL标签中的<c:forEach varStatus=“status”>属性值

c:forEach varStatus属性

current当前这次迭代的(集合中的)项
index当前这次迭代从 0 开始的迭代索引
count当前这次迭代从 1 开始的迭代计数
first用来表明当前这轮迭代是否为第一次迭代的标志
last用来表明当前这轮迭代是否为最后一次迭代的标志
begin属性值
end属性值
step属性值 

 

${status.index}      输出行号,从0开始。
${status.count}      输出行号,从1开始。
${status.current}   当前这次迭代的(集合中的)项
${status.first}  判断当前项是否为集合中的第一项,返回值为true或false
${status.last}   判断当前项是否为集合中的最后一项,返回值为true或false
begin、end、step分别表示:起始序号,结束序号,跳跃步伐。
 
三、servlet中doPost()与doGet的区别
Servlet中doGet与doPost的区别
https://www.zhihu.com/question/20144588

转载于:https://www.cnblogs.com/cxy2016/p/6759433.html


http://www.niftyadmin.cn/n/4049290.html

相关文章

回家过年啦!

上上个星期六的晚上还是很冷&#xff08;1月6号&#xff09;&#xff0c;突然在星期天晚上在被窝里面感觉很热&#xff0c;自己第一次感觉到春天已经来到了&#xff01;我有一种说不出的心情。身处湖州&#xff0c;自己有一种很想回家的感觉&#xff0c;很想看看爸爸妈妈的感觉…

项目组的同志在公司上班(20060124)

这个星期道公司上班&#xff0c;体验了一回在公司上班的滋味。项目组的同志在这里上班真正的与众不同&#xff0c;上班想几点就几点&#xff0c;真是爽阿。星期一&#xff0c;我睡觉到了10点半&#xff0c;然后乘74路车到公司&#xff0c;因为今天大家都回来了&#xff0c;晚上…

[Java] List.of() 报错问题解决

首先&#xff0c;检查您使用的Java版本是否正确&#xff1f; 由于Java 9才支持List接口的static工厂方法&#xff0c;请参见List.of。 private static List<Item> defaultItems() {//java 8return Arrays.asList(new Item(1L, "Burger", 599L, "Tasty&qu…

使用DOM4J维护手机收藏信息

public class DOM4JPares3 { Document doc null; public void getDocument() { SAXReader sax new SAXReader(); try { doc sax.read("收藏信息.xml"); } catch (DocumentException e) { e.printStackTrace(); } } // 显示手机的品牌及型号 public void showInfo(…

[DWR(Ajax)]DWR使用笔记

[DWR(Ajax)]DWR使用笔记 DWR是一个框架&#xff0c;简单的说就是能够在javascript直接调用java方法&#xff0c;而不必去写一大堆的javascript代码。它的实现是基于ajax的&#xff0c;可以实现无刷新效果。 网上有不少DWR的例子&#xff0c;但大都只是某种方法的调用&…

uirecorder init 时,一直卡在这一步“Start install project dependencies…”

uirecorder init 时&#xff0c;一直卡在这一步“Start install project dependencies…”&#xff0c;请问怎么解决 uirecorder init 时&#xff0c;一直卡在这一步“Start install project dependencies…” 解决方法如下&#xff1a; Please use the windows environment …

2006的年又过去了!

现在觉得自己的时间过的真是贼快。刚刚还记得是2005年刚刚从学校毕业&#xff0c;找工作找的累死&#xff0c;但是眨眼间竟然到了&#xff0c;竟然半年过去了。本来在毕业的时候还有很多很多的想法&#xff0c;很多很多的感触要写&#xff0c;要把它记录下来&#xff0c;但是不…

poj1236 Network of Schools ,有向图求强连通分量(Tarjan算法),缩点

题目链接: 点击打开链接 题意&#xff1a; 给定一个有向图&#xff0c;求&#xff1a; 1) 至少要选几个顶点。才干做到从这些顶点出发&#xff0c;能够到达所有顶点 2) 至少要加多少条边。才干使得从不论什么一个顶点出发&#xff0c;都能到达所有顶点 顶点数< 100 求完…