servlet参数传递及页面跳转

servlet参数传递及页面跳转

这里包括servlet接受参数、传递参数、参数乱码、页面乱码、页面跳转、用户信息保存至session等

一、接受参数

1、接收单个字符串

这里直接写解决乱码的接受方式
String name = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”), “UTF-8”);

2、接受js传递过来的数组

String[] conducts=request.getParameterValues(“conducts”);
接受js的数组含有,,,,
可以用split函数分割

String[] conducts=request.getParameterValues("conducts");
		String[] strings = conducts[0].split(",,,,");
		for (String string : strings) {
			System.out.println("pic:"+string);
		}
		if("".equals(strings[1])){
			String[] s = new String[strings.length-1]; 
			for(int i=0;i

二、页面跳转、参数传递

1、不带参数的跳转

response.sendRedirect(“fail.html”);

2、带参数的跳转

request.setAttribute(“name”, name);
request.getRequestDispatcher(“query.jsp”).forward(request, response);

3、用js跳转

PrintWriter out = response.getWriter();
out.print("");

可以在js代码中添加弹窗
String a = URLEncoder.encode(“查询条件不能为空!”, “UTF-8”);
alert(decodeURIComponent(a));//这条语句写js中,注意稍微修改下“”

4、通过js代码跳转后页面乱码问题

response.setCharacterEncoding(“UTF-8”);
!!!注意 这条语句要加在PrintWriter out = response.getWriter();之前,输出流打开之后设置编码就无效了

三、用户信息保存至session

User user = new User();
user.setTel(phone);
user.setName(result);
user.setPass(mima);
HttpSession s = request.getSession(true);
s.setAttribute("user",user);

你可能感兴趣的:(WEB)