ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javaweb值传递的方式

2021-11-24 19:35:44  阅读:107  来源: 互联网

标签:传参 name 方式 传递 String Cookie user password javaweb


1.表单提交

html自带的from方法,简单易懂,便于操作,依靠于标签中的type="submit"进行表单传输,或者根据js进行控制提交表单。其中由method属性决定以post或者get方式进行提交。

jsp代码:

账号:

密码:

java代码(根据name属性获取参数):

String user = request.getParmeter("user_name");

String user = request.getParmeter("user_password");

2.URL传参(超链接请求)

这种传参方式,一般比较单一,所选取的值都是现有或者已经定义的,并且只能用get提交方式去发送请求。所以大多数情况下,超链接只用来作为跳转接口,而一般不会被用作传递参数的功能。不过,当JS来进行动态处理时,URL的方式还是十分灵活的,这里就不一一举例了。

这里还可以通过href向servlet传参

String user = request.getParameter("user_name");

String pass = request.getParameter("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("姓名:"+session.getAttribute("username"));

out.println("密码:"+session.getAttribute("user_password"));

%>

5.cookie

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("姓名:"+application.getAttribute("username"));

out.println("密码:"+application.getAttribute("user_password"));

%>

7.request对象

request对象是当客户端向服务器端发送请求时,服务器为本次请求创建的,并在调用Servlet的service方法时,将该对象传递给service方法。

Request对象中封装了客户端发送过来的所有的请求数据。只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求方法、请求参数、客户端IP,客户端浏览器等等信息。

当然,它进行正常传参时是和session与application类似的,毕竟同属于四大范围域。

//传参界面

request.setAttribute("user_name", "小明");

request.setAttribute("user_password", "******");

%>

提交

//接收界面

out.println("姓名:"+request.getAttribute("username"));

out.println("密码:"+request.getAttribute("user_password"));

%>

8.jsp动作传参

1.jsp:forward动作做页面跳转时传递参数。

2.jsp:param它可以实现主页面向包含页面传递参数。

传参界面:

接收界面

out.println("姓名:" + request.getParameter("user_name"));

out.println("密码:" + request.getParameter("user_password"));

%>

标签:传参,name,方式,传递,String,Cookie,user,password,javaweb
来源: https://www.cnblogs.com/lxsbiji/p/15599678.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有