java web参数传递参数_JavaWeb参数传递方式和ServletContext

1. 使用java static

2. 使用sendRedirect()带参数的重定向

response.sendRedirect(“/web应用/资源URI?参数名1=参数值1&参数名2=参数值2...”);

sendRedirect可以去外边URL。

3. 使用forward在web服务器里request转发(尽量使用此方法)

request.getRequestDispatcher("/资源URI").forward(request,response)

forward只能去当前的WEB应用的资源。

forward的转发多次,请求只有一次,URL地址不变。

4. 使用session 传递

User user = new User();

user.setName("xiaoming");

user.setPassword("123456");

放入session

request.getSession.setAttribute("userObj",userObj);

取出session

User user = (User)request.getSession.getAttribute("userObj");

设置session六十秒后失效

session.setMaxInactiveinterval(60)

每次打开浏览器的session都不同,这跟http请求JSESSIONID有关;如果没有JSESSIONID,服务器将会自动给你创建一个并返回。

5. cookie

创建cookie首先考虑如何创建,然后考虑他的生命周期,最后要写到浏览器临时文件里

//创建cookie创建cookie。如果重名就会替换存在的cookie值.

Cookie cookie = new Cookie("name","shunping1");

//设置cookie的生命周期。不设置,则该cookie的生命周期当浏览器关闭时,就消亡

cookie.setMaxAge(3600);// 单位秒

response.addCookie(cookie);//把cookie信息回写给浏览器

读取cookie

Cookie []cookies = request.getCookies();

for(int i=0; i 

out.println(cookies[i].getName() + "
");

out.println(cookies[i].getValue() + "
");

}

删除cookie

// 先得到该cookie

Cookie cookies[]=request.getCookies();

for(Cookie cookie: cookies){

if(cookie.getName().equals("id")){

System.out.println("id");

cookie.setMaxAge(0);// 删除

// 一定带上这句话,否则不能删除

response.addCookie(cookie);

}

}

存入中文

String val = java.net.URLEncoder.encode("名称","utf-8");

Cookie cookie = new Cookie("name",val);

取出中文

String val = java.net.URLDecoder.decode(cookie.getValue(), "utf-8");

out.println("name ="+val);

不同的浏览器cookie的大小和数量不同。

ServletContext共享数据

ServletContext也可以转发跟forward一样

this.getServletContext().getRequestDispatcher("/资源url").forward(request, response);

做任何操作必须先获取:

servletcontext = this.getServletContext();

添加属性:

servletcontext.setAttribute(string,object);

取出属性

String val = servletcontext.getAttribute(“属性名”)

删除

String val = setvletContext.removeAttribute(“属性名”);

SpringMVC中获取

WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();

ServletContext servletContext = webApplicationContext.getServletContext();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值