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 < cookies.length;i++){
    out.println(cookies[i].getName() + "<br/>");
    out.println(cookies[i].getValue() + "<br/>");        
}

删除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();

转载于:https://my.oschina.net/u/2464462/blog/527791

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值