通过重写HttpServlet的doGet、doPost方法实现验证用户登录

前言:
Servlet 是什么?
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
使用Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

1.进入mvnrepository.com,搜索junit 和 javax.servlet-api 插件,复制maven项目类代码,粘贴到pom.xml中的dependencies下

junit:我选择的是4.11版本
通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第1张图片
javax.servlet-api:我选择的是3.1.0版本
通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第2张图片
或者直接复制以下代码:



	
	  junit
 	  junit
  	  4.11
  	  test
	
	
	  
 	  javax.servlet
 	  javax.servlet-api
	  3.1.0
	  provided
	
	

2.在src->main目录下新建java目录(New Directory)

通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第3张图片

并在java目录下右键点击Mark Directory as->Sources Root 标记此目录作为source的根目录

通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第4张图片

3.在java目录下新建包(控制层功能):cn.edu.mju.projrct1.comtroller

通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第5张图片

在这里建议把设置默认勾选的下图2个选项去掉:

通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第6张图片

则会显示为如下图样式

通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第7张图片

4.在comtroller包下新建一个验证用户登录的LoginController类

通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第8张图片

并用代码表示该类继承于HttpServlet:

public class LoginController extends HttpServlet

由于我们在第一步的时候就添加的插件包代码,所以会自动导入相应的插件包

通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第9张图片

5.之后重写HttpServlet的doGet、doPost方法

@WebServlet("/login")
public class LoginController extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
      //StringBuilder对象是动态对象,允许扩充它所封装的字符串中字符的数量,字符串对象经常改变的情况下使用StringBuilder
        StringBuilder stringBuilder = new StringBuilder();
   
        stringBuilder.append("
"); stringBuilder.append("登录名称:
"
); stringBuilder.append("登录密码:
"
); stringBuilder.append("
"
); stringBuilder.append(""
); //stringBuilder.toString()将当前StringBuilder对象转换为String对象。 showMsg(resp,stringBuilder.toString()); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String loginName = req.getParameter("loginName"); String loginPwd = req.getParameter("loginPwd"); //如果用户名是你的学号,密码是1234 那么显示你好,登录名称,如果不对,那么显示账号或密码错误 String str = null; if("123456".equals(loginName) && "1234".equals(loginPwd)){ str = "你好" + loginName; }else { str = "账号或密码错误"; } showMsg(resp,str); } private void showMsg(HttpServletResponse resp,String msg){ resp.setCharacterEncoding("utf-8"); try { //打个通俗的比方就是通过HttpServletResponse对象得到一支笔,然后就可以用out.print()方法在网页上写任何你想显示的内容。 //通过PrintWrite,以流方式输出html,返回给客户端,显示在IE上 PrintWriter out = resp.getWriter(); out.println(""); out.println(""); out.println("
"); out.println("login"); out.println("
"
); out.println(""); out.println(msg); out.println(""); out.println(""); out.close(); } catch(Exception ex) { System.out.println(ex.getMessage()); } } }

6.配置servlet:在@WebServlet中配置 添加@WebServlet("/login")

7.在浏览器中输入http://localhost:8081/login

通过重写HttpServlet的doGet、doPost方法实现验证用户登录_第10张图片

你可能感兴趣的:(学习记录)