`

Servlet中Request,Response,Ajax,转发,重定向等的关系

    博客分类:
  • Java
阅读更多

Servlet中Request,Response,Ajax,转发,重定向等的关系

 

一.Request设置参数,通过转发或者重定向,跳转到页面:

if ("specialDoc".equals(action)) {
	String userName = null;
	User user = (User) request.getSession().getAttribute("user");
	if (user != null) {
		userName = user.getUsername();
	}
	long id = Long.valueOf(request.getParameter("id"));
	ProjectDao projectDao = new ProjectDao();
	List list = projectDao.getItemById(id);
	if (list != null && list.size() > 0) {
		Object[] obj = (Object[]) list.get(0);
		request.setAttribute("itemName", obj[1]);
		request.setAttribute("remark", obj[2]);
		request.setAttribute("createDate", obj[3]);
		request.setAttribute("list", list);
	}
	if (userName == null) {
		request.setAttribute("userName", "nobody");
	}
	else {
		request.setAttribute("userName", userName);
	}
	request.getRequestDispatcher("/frontShow/special-info.jsp").forward(request, response);
	return;
}

1.request设置参数:

2.获取转发器,转发地址跳回原页面或跳到新页面:

 

二.Response用于Ajax返回数据(一般返回Json字符串):

if ("pageAjax".equals(action)) {
	String userName = null;
	User user = (User) request.getSession().getAttribute("user");
	if (user != null) {
		userName = user.getUsername();
	}
	String tableName = request.getParameter("table");
	int start = Integer.valueOf(request.getParameter("page"));
	String pageSizesString = request.getParameter("pageSize");
	int pageSize = 0;
	if (pageSizesString != null) {
		pageSize = Integer.valueOf(request.getParameter("pageSize"));
	}
	pageDao = new PageDaoImpl();
	pageDao.init(start, pageSize, tableName, level);//Page对象初始化
	Page page = pageDao.getPage();//获取Page对象
	JSONObject jObj = new JSONObject();
	jObj.put("userName", userName);
	jObj.put("currentPage", page.getCurrentPage());
	jObj.put("totalPages", page.getTotalPage());
	jObj.put("hasPrevious", page.isHasPreviousPage());
	jObj.put("hasNext", page.isHasNextPage());
	jObj.put("isFirst", page.isFirstPage());
	jObj.put("isLast", page.isLastPage());
	jObj.put("list", page.getList());
	response.setContentType("text/json;charset=UTF-8");
	PrintWriter out = response.getWriter();
	out.print(jObj);
	out.close();
	return;
}

1.创建Json字符串:

2.通过PrintWriter输出,即返回给Ajax:

 

  • 大小: 4.7 KB
  • 大小: 4.4 KB
  • 大小: 7.8 KB
  • 大小: 3.5 KB
分享到:
评论

相关推荐

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    第2篇为范例演练篇,主要包括基础知识相关、数据库相关、图像与文件相关、图表与报表相关、Ajax等相关的范例;第3篇为项目实战篇,主要包括讯友联系人管理模块、播客视频管理模块、博客管理模块、明日知道论坛管理...

    JavaWeb实战开发

    请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题? ? ?4.session与cookie问题及application、cookie补充说明及四种范围对象作用域? ? ?5.JDBC原理及使用Statement访问...

    java web 视频、电子书、源码(李兴华老师出版)

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象...

    李兴华Java Web开发实战经典(高清版) Part2

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

Global site tag (gtag.js) - Google Analytics