java web B/s的简单实用基础总结(2)
来源:互联网 发布:模糊算法讲解 编辑:程序博客网 时间:2024/05/20 18:53
Send.redirect跳转
Servelet方面doGe()t方法
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");response.setCharacterEncoding("UTF-8");response.sendRedirect("/ServletDemo/show.jsp?name=peter");//get传值}跳转后的show.jsp
<%@ page language="java" import="java.util.*,javax.servlet.http.Cookie" pageEncoding="UTF-8"%> </head> <body> send.redirect传值name <%=request.getParameter("name") %><br/> //getParameter()方法值 </body></html>
forward跳转
request可以携带完整的对象,将其传递到一个JSP或Servlet中,这包含存入对象和取出对象,用到的两个方法setAttribute()和getAttribute().
注意这里存放的是对象,所以8中基本数据类型不行。
Despatch
获取RequestDespatch跳转的对象必须使用完全相对的地址,即必须从相对路径的根目录写起,而不是从servlet目录开始写。
RequestDispatcher rd=getServletContext().getRequestDispatcher("/showAtr.jsp");然后使用跳转命令包含源servlet的request和response对象。
rd.forward(request, response);
仔细观察会发现,sendRedirect方法地址是目标地址,而forward方法是源地址。
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");response.setCharacterEncoding("UTF-8");String name="abcd";request.setAttribute("name", name);RequestDispatcher rd=getServletContext().getRequestDispatcher("/showAtr.jsp");rd.forward(request, response);
}
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><jsp:useBean id="name" scope="request" class="java.lang.String"></jsp:useBean><html> <head> <title>My JSP 'showAtr.jsp' starting page</title> </head> <body> useBean调用:<%=name %> request调用:<%=request.getAttribute("name") %> </body></html>
Session 和 cookie
Session信息存放在服务器上,一般有服务器设定,而cookie信息存放在客户端上,也就是本地电脑。cookie只能存放String信息,或者说cookie是一个特殊的文本文件。
cookie存放的时间可以有程序定义,而不是服务器定义。
session在java中只有接口,所以不能用new实例化,实例化是由request方法getSession
HttpSession userinfo=request.getSession();
然后将希望存放的对象存放到session
session.setAttribute("userName",userName);
用UseBean只要scope="session"而不是scope="request"
cookie更简单一些
1 new cookie(name,value)创建cookie实例。
2 response.addCookie(cookie);将生成好的cookie加入应答。
3 request.getCookies()方法从客户端读入cookie数组。
下面代码将cookie和session写入一个Servlet实例
doGet()方法
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");response.setCharacterEncoding("UTF-8");String info ="SESSION 保存信息"; //session实现HttpSession info2 = request.getSession(true);info2.setAttribute("info", info);String a="aaa";String b="bbb";Cookie A = new Cookie("Aa",a);Cookie B = new Cookie("Bb",b);A.setPath("/"); //cookie需要路径设置,这里指向项目根目录。B.setPath("/");response.addCookie(A);response.addCookie(B);response.sendRedirect("/ServletDemo/show.jsp?name=peter");}
<%@ page language="java" import="java.util.*,javax.servlet.http.Cookie" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><jsp:useBean id="info" scope="session" class="java.lang.String"></jsp:useBean><html> <head> <title>My JSP 'show.jsp' starting page</title> </head> <body> useBean调用session内容:<%=info %><br/> <%HttpSession userInfo = request.getSession(false); %> session调用内容:<%=userInfo.getAttribute("info") %><br/> <% Cookie c[] = request.getCookies(); for(int i=0;i<c.length;i++) { out.print("名字:"+c[i].getName()+"值:"+c[i].getValue()+c.length); } %> </body></html>
- java web B/s的简单实用基础总结(2)
- java web B/s的简单实用基础总结(1)
- Java基础比较实用的总结
- web基础:B/S基础+HTML+CSS
- java学习第二十九天之Web基础B/S 、C/S
- 简单实用的快捷键总结
- vim简单的实用总结
- 传智播客Java web之 Servlet简介以及B/S与C/S的比较
- 对java基础的简单总结
- Java基础---------Static的简单总结
- Java基础总结大全(实用)
- java基础总结(2)—web
- WEB项目(B/S系统)打包安装(总结篇)
- WEB项目(B/S系统)打包安装(总结篇)
- 关于B/S模型的一点总结
- java web基础大总结
- C/S架构和B/S架构的简单理解
- git基础简单实用
- 子游戏下载一半重新下载
- Windows安全补丁检
- 用git下载Android的某个应用程序
- 聚类(初探)
- Android学习篇章45-HttpClient网络下载-IO流传输-下载图片资源
- java web B/s的简单实用基础总结(2)
- HBase技术介绍
- 如何降低白噪声对网站用户体验的影响?
- JDK中的URLConnection参数详解
- 常用对称加密算法(DES/AES)类(PHP)
- 面试题分析:我的Twitter技术面试失败了
- PCB设计经验(双层板)
- Eclipse精要与高级开发技术
- (使用STL自带的排序功能进行排序)UVA 10905 Children's Game(求一组数据所能拼出的最大数字串)