总结
servlet乱码问题:
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
login.html
<!--<a href="/hello">点一点</a>-->
<form action="/hello" method="post">
name:<input type="text" name="username"><br>
pwd: <input type="password" name="pwd"><br>
<input type="submit">
</form>
HelloServlet
/*
自定义类必须继承HttpServlet类才能成为servlet
常用请求方式 get post put delete
get请求就会自动进doGet()
post请求就会自动进doPost()
在web.xml中配置
url http://localhost:8080/hello
@Test
*/
@WebServlet("/hello")//注解式
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet方法");
String method = request.getMethod();//请求方式
System.out.println("method"+method);
StringBuffer url = request.getRequestURL();//相对路径
System.out.println("请求url"+url);
String uri = request.getRequestURI();//简短路径
System.out.println("请求uri"+uri);
String protocol = request.getProtocol();//协议
System.out.println("请求协议"+protocol);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// doGet(request, response);
//解决乱码问题
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
System.out.println("dopost方法");
//接收前端传来的数据
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
System.out.println(username+" "+pwd);
//相应数据
PrintWriter out = response.getWriter();
out.write("这是我的第一次响应");
}
}