用Servlet写登录案例,接收账号和密码参数,无需连接数据库

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 07:25   39   0

用Servlet写登录案例

1.创建动态web工程,在该项目中新建servlet相关包
2.新建servlet,重写service方法,编写代码
3.在web.xml中进行配置

配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <display-name>Servlet_Login</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <!-- ServletLoginPage -->
  <servlet>
    <servlet-name>ServletLoginPage</servlet-name>
    <servlet-class>com.cmp.userlogin.servlet.ServletLoginPage</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletLoginPage</servlet-name>
    <url-pattern>/loginPage</url-pattern>
  </servlet-mapping>
  <!-- ServletLogin -->
  <servlet>
    <servlet-name>ServletLogin</servlet-name>
    <servlet-class>com.cmp.userlogin.servlet.ServletLogin</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletLogin</servlet-name>
    <url-pattern>/login</url-pattern>
  </servlet-mapping>
</web-app>

Servlet登录页面(ServletLoginPage.java):

package com.cmp.userlogin.servlet;

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

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

public class ServletLoginPage extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //设置响应头(防止中文乱码问题)
        response.setContentType("text/html;charset=utf-8");
        //输出
        PrintWriter out = response.getWriter();
        out.print("<!DOCTYPE html>");
        out.print("<html lang=\"en\">");
        out.print("<head>");
        out.print("<meta charset=\"UTF-8\" />");
        out.print("<title>登录</title>");
        out.print("</head>");
        out.print("<body>");
        //此处post提交可以隐藏地址栏的参数(账号与密码)
        out.print("<form action=\"login\" method=\"post\" accept-charset=\"utf-8\">");
        out.print("账号:<input type=\"text\" name=\"username\"><br><br>");
        out.print("密码:<input type=\"password\" name=\"password\"><br><br>");
        out.print("<input type=\"submit\" value=\"登录\">");
        out.print("</form>");
        out.print("</body>");
        out.print("</html>");
    }
}

Servlet登录(ServletLogin.java)

package com.cmp.userlogin.servlet;

import java.io.IOException;

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

public class ServletLogin extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //设置响应头(防止中文乱码问题)
        response.setContentType("text/html;charset=utf-8");
        //获取提交的参数(账号与密码)
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //判断登录成功或失败
        //指定账号为"admin",密码为"123456"
        if(username.equals("admin")){
            //账户名正确
            if(password.equals("123456")){
                //密码正确
                response.getWriter().print("恭喜【"+username+"】登录成功!");
            }else {
                response.getWriter().print("密码输入有误!");
            }
        }else {
            response.getWriter().print("账号输入有误!");
        }
    }
}
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP