关闭

servlet参数传递(服务端)

标签: htmlandroid开发界面servlet
140人阅读 评论(0) 收藏 举报
分类:

以登录界面为例:为了统一代码,将HTML格式改为utf-8

<span style="font-size:14px;"><html>
	<head>

	<title>登录界面</title>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">     
	</head>
	<body align="center">
		<form name="input" action="./text" method="get">     <!-- action为虚拟目录调用跳转出此界面时路径,method访问方式 -->
			用户名: 
			<input type="text" name="name">
	<br>
	<br>
			密	码: 
			<input type="password" name="password">
		<br>
		<br>		
			<input type="submit" value="登录">
</form>	
	</body>
</html></span>

<span style="font-size:14px;">public class WebTest extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		resp.setContentType("text/html;charset=UTF-8");   //防止中文输出乱码问题(输出)
		
		String userName = req.getParameter("name");
		String passWord = req.getParameter("password");           //获取传递值
		
		System.out.println("userName :"+userName);       //在doc命令中打印
		
		
		PrintWriter writer = resp.getWriter();
		if (userName.equals("123")&&passWord.equals("123")) {
			writer.print("<h1>"+userName+"登录成功"+"</h1>");
		}else {
			writer.print("<h1>"+userName+"登录失败"+"</h1>");
		}
		
//		writer.print("登录成功");
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)       //当方法method改为post时调用
			throws ServletException, IOException {
		doGet(req, resp);
	}
}</span>
这样统一编码后我的乱码问题就解决了,但是如果获取值时还存在乱码问题,可以试一下下面两种方法:

1、在tomcat的conf中的server.xml中添加上如下代码:

2、在servlet中加上String user = new String(userName.getBytes("ISO-8859-1"), "UTF-8");

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20059次
    • 积分:688
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:13篇
    • 译文:1篇
    • 评论:0条