servlet用HttpServletRequest、HttpServletResponse接收前端数据及乱码解决

149 阅读1分钟

java代码

package com.servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet{
	public void service(HttpServletRequest req, HttpServletResponse rsp) throws IOException {
		//请求乱码解决方案
		req.setCharacterEncoding("UTF-8");
		rsp.setContentType("text/html; charset=UTF-8");
		PrintWriter pw = rsp.getWriter();
		//调用请求对象的getParameter(input的name属性值)
		String username = req.getParameter("usename");
		String password = req.getParameter("password");
		
		String uname = "张三";
		String pword = "123";
		if(username==null && password==null) {
			pw.write("密码、账号不能为空");
		}else {
			if(username.equals(uname)) {
				if(password.equals(pword)) {
					pw.write("登录成功");
				}else {
					pw.write("密码错误");
				}
			}else {
				pw.write("账号错误");
			}
		}
		
	}
}

web.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
 	<servlet>
 		<servlet-name>loginServlet</servlet-name>
 		<servlet-class>com.servlets.LoginServlet</servlet-class>
 	</servlet>
 	<servlet-mapping>
 		<servlet-name>loginServlet</servlet-name>
 		<url-pattern>/login.do</url-pattern>
 	</servlet-mapping>
</web-app>

html代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
	<form action="login.do">
	用户名:<input type="text" name="usename"/><br>
	密码:<input type="password" name="password"/><br>
	<input type="submit" value="登录"/>
	</form>
</body>
</html>