又来玩个新的东西:
修改代码:提交账号密码
Login.html代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="s4" method="post">
<input type="text" name="username"><br>
<input type="password" name="password"><br>
<input type="submit">
</form>
</body>
</html>
servlet代码:
package cn.xdl.demo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Servlet4
*/
@WebServlet("/s4")
public class Servlet4 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("get request ");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("post request ");
}
}
首先打开login.html页面,按住f12,出现以下页面
点击提交查询之后,查看控制台信息,说明用户已经成功发送请求信息了
接下来就是如何处理用户请求的信息了
如何接受用户请求的参数 ***
1. 接受单个请求参数 (String)
String value = request.getParameter(String key);//通过键获取值
2. 接受一组请求参数 (String[])
String[] values = request.getParameterValues(String key);
案例:用户通过提交账户密码(输入框内容)给Servlet类,然后再进行验证
接下来开始进入到正文时刻了
案例:用户通过提交账户密码(输入框内容)给Servlet类,然后再进行验证
修改servlet4代码
package cn.xdl.demo;
import java.io.IOException;
import javax.jws.soap.SOAPBinding.Use;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Servlet4
*/
@WebServlet("/s4")
public class Servlet4 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendError(404, "资源不见了!");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//浏览器响应编码,不写它会导致乱码
response.setContentType("text/html;charset=utf-8");
//通过request对象,拿到用户请求的信息,第一篇文章已经说过
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("用户名"+username);
System.out.println("密码"+password);
if("xiangming".equals(username)) {
//登录失败
response.getWriter().append("<h1>拜拜</h1>");
}else if("admin".equals(username)){
//登录成功
response.getWriter().append("<h1>登录成功</h1>");
}else {
//登录失败
response.getWriter().append("<h1>重试吧!</h1>");
}
}
}
修改login.html代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="s4" method="post">
<input type="text" name="username"><br>
<input type="password" name="password"><br>
<input type="submit">
</form>
</body>
</html>
上面写了三个逻辑,读者有兴趣可以自行验证
简单的逻辑一一实现
抛出思考问题
但是呢?假如我王提交页面输入的username是中文会发生什么呢?
点击提交查询看看控制台信息
为什么会出现这种情况呢?
请看下回分解,下回解释乱码问题
总结:本次学习的内容看是简单,其实确实很简单,将逻辑代码换成数据库查询语句,就相当于数据库查询了(简单的数据库查询雏形就完成了),哈哈,是不是学到东西了