javaweb传递参数_Javaweb的⼋种传值⽅式
1.表单提交
html⾃带的from⽅法,简单易懂,便于操作,依靠于标签中的type="submit"进⾏表单传输,或者根据js进⾏控制提交表单。其中由method属性决定以post或者get⽅式进⾏提交。
jsp代码:
账号:
密码:
java代码(根据name属性获取参数):
String user = Parmeter("user_name");
String user = Parmeter("user_password");
2.URL传参(超链接请求)
这种传参⽅式,⼀般⽐较单⼀,所选取的值都是现有或者已经定义的,并且只能⽤get提交⽅式去发送请求。所以⼤多数情况下,超链接只⽤来作为跳转接⼝,⽽⼀般不会被⽤作传递参数的功能。不过,当JS来进⾏动态处理时,URL的⽅式还是⼗分灵活的,这⾥就不⼀⼀举例了。
这⾥还可以通过href向servlet传参
String user = Parameter("user_name");
String pass = Parameter("user_password");//java取值代码
3.Javabean传参
JavaBean 通过提供符合⼀致性设计模式的公共⽅法将内部域暴露成员属性,set和get⽅法获取。
Javabean使⽤有如此好处
1.提⾼代码的可复⽤性:对于通⽤的事务处理逻辑,数据库操作等都可以封装在JavaBean中,通过调⽤JavaBean的属性和⽅法可快速进⾏程序设计。
2.程序易于开发维护:实现逻辑的封装,使事务处理和显⽰互不⼲扰。
3.⽀持分布式运⽤:多⽤JavaBean,尽量减少java代码⼤量出现在显⽰界⾯。
4.可以便捷地传递数据。
以下⽤代码举个⼩栗⼦:
Javabean代码:
package model;
public class User{
private String user_name;
private String user_password;
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getUser_password() {
return user_password;
}
public void setUser_password(String user_password) {
this.user_password = user_password;
}
}
传递参数的页⾯:
user.setUser_name("⼩明"); 4 user.setUser_password("******")
%>
接收页⾯:
姓名:
密码:
姓名:
密码:
4.session对象传参
Session 对象存储特定⽤户会话所需的属性及配置信息。这样,当⽤户在应⽤程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,⽽是在整个⽤户会话中⼀直存在下去。
当⽤户请求来⾃应⽤程序的 Web 页时,如果该⽤户还没有会话,则 Web 服务器将⾃动创建⼀个 Session 对象。当会话过期或被放弃后,服务器将终⽌该会话,Session 对象最常见的⼀个⽤法就是存
储⽤户的⾸选项。
简单来说,就是服务器在确定每⼀个⽤户过后都会存放⽤户相关信息在服务器端,这个被存放的值的集合就是session对象。
传参界⾯与接收的界⾯:
//传参界⾯
session.setAttribute("user_name", "⼩明");
session.setAttribute("user_password", "******");
%>
//接收界⾯
out.println("姓名:"+Attribute("username"));
out.println("密码:"+Attribute("user_password"));
%>
Cookie实际上是⼀⼩段的⽂本信息。客户端请求服务器,如果服务器需要记录该⽤户状态,就使⽤response向客 户端浏览器颁发⼀个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该⽹站时,浏览器把请求的⽹址连同该Cookie⼀同提交给服务 器。服务器检查该Cookie,以此来辨认⽤户状态。服务器还可以根据需要修改Cookie的内容。Java中把Cookie封装成了javax.servlet.http.Cookie 类,每个Cookie都是该Cookie类的对象,服务器通过操作Cookie类对象对客户端Cookie进⾏操作。
java代码
Cookie cookie = new Cookie("username","password");// 新建Cookie
cookie.setMaxAge(3600); // 设置⽣命周期为3600秒
response.addCookie(cookie); // 输出到客户端
6.application全局变量
application对象代表JSP所属的WEB应⽤本⾝,可⽤于JSP页⾯,或者Servlet之间交换信息。常⽤的⽅法有getAttribute(String attName), setAttribute(String attName,String attValue)和getInitParameter(String Param)等。
服务器启动后就产⽣了这个application对象,当客户再所访问的⽹站的各个页⾯之间浏览时,这个application对象都是同⼀个,直到服务器关闭。
但是与session不同的是,所有客户的application对象都是同⼀个,即所有客户共享这个内置的application对象。
传参界⾯与接收的界⾯:
//传参界⾯
application.setAttribute("user_name", "⼩明");
application.setAttribute("user_password", "******");
%>
//接收界⾯
out.println("姓名:"+Attribute("username"));
out.println("密码:"+Attribute("user_password"));
%>
request对象是当客户端向服务器端发送请求时,服务器为本次请求创建的,并在调⽤Servlet的service⽅法时,将该对象传递给service⽅法。
Request对象中封装了客户端发送过来的所有的请求数据。只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求⽅法、请求参数、客户端IP,客户端浏览器等等信息。
当然,它进⾏正常传参时是和session与application类似的,毕竟同属于四⼤范围域。
//传参界⾯
request.setAttribute("user_name", "⼩明");
request.setAttribute("user_password", "******");
%>
//接收界⾯
out.println("姓名:"+Attribute("username"));
out.println("密码:"+Attribute("user_password"));
%>
8.jsp动作传参
1.jsp:forward动作做页⾯跳转时传递参数。
2.jsp:param它可以实现主页⾯向包含页⾯传递参数。javabean是干嘛的
传参界⾯:
接收界⾯
out.println("姓名:" + Parameter("user_name")); out.println("密码:" + Parameter("user_password")); %>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论