用户登录
用户注册

分享至

页面传参

  • 作者: 五菱集团驻Z泰协调部
  • 来源: 51数据库
  • 2021-07-29

文章目录

  • 一、request对象
    • 1.请求参数的方法
    • 2.传参的几种方式
      • (1)表单(form)
      • (2)forward动作+param子标记
      • (3)include动作
      • (4)追加在网址后传递
    • 3. 解决传递中文会乱码的问题
    • 4.关于getParameter()和getAttribute()的区别
  • 二、session对象
  • 三、application对象

一、request对象

1.请求参数的方法

访问请求参数使用request对象的 getParameter()方法,格式如下:

String 变量名 = request.getParameter("参数的name属性名");

2.传参的几种方式

(1)表单(form)

jsp→jsp

提交页面:

<form action="servlet页面名" method="post">
	用户名:<input type="text" name="username"><br>
	登录密码:<input type="text" name="password"><br>
	<input type="sunmit" value="提交">
</form>

接受页面:

<body>
	<% 
		String str1=request.getParameter("username");
		String str2=request.getParameter("password");
	%>
</body>

jsp→servlet

提交页面:

<form action="servlet页面名" method="post">
	用户名:<input type="text" name="username"><br>
	登录密码:<input type="text" name="password"><br>
	<input type="sunmit" value="提交">
</form>

servlet:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String str1=request.getParameter("username");
		String str2=request.getParameter("password");
}

(2)forward动作+param子标记

param标记不能独立使用,可以与<jsp:forward>一起使用,将param中的变量值传递给要跳转的文件。

jsp→jsp

传参数界面

<jsp:forward page = "接受参数文件的名字">
	<jsp:param name ="变量名字1" value ="变量值1"/>
</jsp:forward>

接受参数界面

<body>
	<% String str=request.getParameter("变量名");%>
</body>

(3)include动作

也可以与<jsp:include>一起使用,将param中的变量值传递给要动态加载的文件。

jsp→jsp

传参数界面

<jsp:include page = "接受参数文件的名字">
	<jsp:param name ="变量名字1" value ="变量值1"/>
</jsp:include>

接受参数界面

<body>
	<% String str=request.getParameter("变量名");%>
</body>

(4)追加在网址后传递

Http://ip地址:端口号//文件路径?变量名1=变量值1&变量名2=变量值2

注意所输入的信息之间不能有空格。
接收方式和上述方式相同,不再赘述。

3. 解决传递中文会乱码的问题

在方法getParameter()之前添加语句

request.setCHaracterEncoding("UTF-8");

同时表单属性action必须是post方法

4.关于getParameter()和getAttribute()的区别

getParameter方法可以接受来自不同的jsp页面或者jsp动作传递给request对象的参数信息。
而getAttribute()方法是获取通过setAttribute()方法根据自己的需要添加在resquest对象中的属性。

用法

void resquest.setAttribute("name",obj)
Object resquest.getSttribute(String name);

二、session对象

1.形成及保存会话属性的数据

会话属性的数据使用setAttribute()方法形成及保存,格式

session.setAttribute("属性名",属性值);

对于Servlet,需要先获取HttpSession的实例对象,然后再使用setAttribute()方法,格式

HttpSession request.getSession(boolea create);

2.获取会话属性数据

使用getAttribute()方法,格式:

对象类型 (强制类型转化)session.getAttribute("属性名");

3.删除会话属性数据

使用removAttribute()方法,格式;

session.removeAttribute("属性名");

三、application对象

1.形成及保存应用属性的数据

应用属性的数据使用setAttribute()方法形成及保存,格式

application.setAttribute("属性名",属性值);

对于Servlet,需要先获取ServletContext的实例对象,然后再使用setAttribute()方法,格式

ServletContext application=this.getServletContext()

2.获取应用属性数据

使用getAttribute()方法,格式:

对象类型 (强制类型转化)application.getAttribute("属性名");

3.删除应用属性数据

使用removAttribute()方法,格式;

application.removeAttribute("属性名");
软件
前端设计
程序设计
Java相关