jsp页面的${request.name}和${requestscope.name}的区别

jsp页面的${request.name}和${requestscope.name}的区别,第1张

${}不能直接获取到request对象,${requestname}当然也不能获取到request中的属性,想获取request中的属性,可以通过${pageContextrequestname}来获取request中名字为name的属性。例如${pageContextrequestcontextPath}可以获取上下文路径,${requestscopename}就简单了,就是获取request域中的attribute,和Java代码中的requestgetAttribute("name")一样,效果不同的是,如果域中没有该属性,requestgetAttribute("name")返回null,${requestscopename}什么都不显示

在jsp页面中function方法里可以使用request。jsp是一个特殊的Servlet,jsp中可以使用九大隐式(内置)对象,分别是 request对象、 response对象、 session对象、out对象、page对象、 application对象、 exception对象、pageContext对象 、config对象。所以只要是在jsp页面范围内就可以使用request对象

JSP中request封装的是用户的请求信息,和Servlet的doGet和doPost中的request是一样的。

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是>

常用的request的方法:

(1)object getAttribute(String name) 返回指定属性的属性值 ;

(2)String getParameter(String name) 返回name指定参数的参数值,用来获取form中input等用户输入的值。

(3)void setAttribute(String name, Object value); 设置属性,用getAttribute取回。

可以在JSP中运行下面的代码就知道了:

请求方式:<%=requestgetMethod()%><br>

请求的资源:<%=requestgetRequestURI()%><br>

请求用的协议:<%=requestgetProtocol()%><br>

请求的文件名:<%=requestgetServletPath()%><br>

请求的服务器的IP:<%=requestgetServerName()%><br>

请求服务器的端口:<%=requestgetServerPort()%><br>

客户端IP地址:<%=requestgetRemoteAddr()%><br>

客户端主机名:<%=requestgetRemoteHost()%><br>

表单提交来的值:<%=requestgetParameter("qwe")%><br>

    其实对于JSP中的内置对象,牢记一点:JSP本身就是一个Servlet,它会被容器编译为一个java类。  

    比如Tomcat容器在works目录下就可以找到你的JSP文件编译好的类,它对JSP中HTML代码用的就是outwrite()输出的。

     先学会用Servlet处理信息,在用JSP会很容易,JSP本身就是为了解决在Java代码中拼写HTML代码这个烦人的问题而诞生的一种技术。Servlet才是基础!

参考

首先呢你的 type="submit" 他是表单的一个特殊的元素

一般来说 取得值是 <input type="text"或者是文本框里面的值

用request 取值最好先设置一下编码以免乱码

给你个例子

<form action="addDojsp" method="post" onSubmit="return chk()">

<table style="border:2px solid;text-align:center;">

<tr>

<td colspan="2">添加员工信息</td>

</tr>

<tr>

<td id="re">员工姓名</td>

<td><input name="txtName" id="txtName" class="c" /> </td>

</tr>

<tr>

<td>部门</td>

<td><input name="txtDe" id="txtDe"/></td>

</tr>

<tr>

<td id ="re">手机号码</td>

<td><input name="txtPhone" id="txtPhone" class="c"/></td>

</tr>

<tr>

<td>电子邮件</td>

<td><input name="txtEmail" id="txtEmail"/></td>

</tr>

<tr style="text-align:center;">

<td colspan="2">

<input type="button" value="返回" onClick="javascript:windowlocationhref='indexjsp'"/>

<input type="submit" value="提交"/>

</td>

</tr>

</table>

</form>

以上是表单页面

一下是处理页面

<%@ page language="java" import="javautil" pageEncoding="GBK"%>

<%@ page import="comaccpentity,comaccpdao" %>

<%

String path = requestgetContextPath();

String basePath = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/";

%>

<%

requestsetCharacterEncoding("GBK");//设置编码为GBK

String name=requestgetParameter("txtName");获取值

String de=requestgetParameter("txtDe");

String phon=requestgetParameter("txtPhone");

String email=requestgetParameter("txtEmail");

int i=new contactDao()getInfoByName(name);

if(i>0){

outprint("<script>windowalert('用户名存在!')</script>");

outprint("<script>windowlocationhref='addjsp'</script>");

}else{

int ii=new contactDao()addInfo(new contacts(name,de,phon,email));

if(ii>0){

outprint("<script>windowalert('添加成功!')</script>");

outprint("<script>windowlocationhref='indexjsp'</script>");

}

}

%>

就是说一般用 requestgetParameter("表单的Name");获取的

不能这么请求。

因为页面上的request 和使用form提交的request 请求 不是一个对象。测试如下:

首先在jsp页面中打印出来request对象

<%

requestsetAttribute("test","test");

Systemoutprintln("request="+request+"返回页面对象");//这里打印出页面request对象

%>

部分action代码如下:

>

以上就是关于jsp页面的${request.name}和${requestscope.name}的区别全部的内容,包括:jsp页面的${request.name}和${requestscope.name}的区别、在jsp页面中function方法里可以使用request吗、jsp关键字request怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9605857.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存