html文件中的数据都是静态的
试想一下我们想要输出一个动态的页面该如何输出呢?这就需要我们使用servlet技术
1.LoginErrorServlet:手动拼接html页面,动态展示登录错误信息。
2.不需要额外再写一个html页面
LoginErrorServlet.java
package controller;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(urlPatterns = "/ErrorServlet")
public class ErrorServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter writer = response.getWriter();
writer.print("<html>");
writer.print("<head>");
writer.print("</head>");
writer.print("<body>");
String str = "错误信息";
writer.print("<font color='red'>"+str+"</font>");
writer.print("<form method='post' action='/loginServlet'>");
writer.print("用户名:<input type='text' name='username'> <br/>");
writer.print("密码:<input type='password' name='password'> <br/>");
writer.print("<input type='submit' value='登录'>");
writer.print("</form>");
writer.print("</body>");
writer.print("</html>");
}
}