当前位置:   article > 正文

servlet获取参数(以登录界面为例 从浏览器中获取账号和密码)及其页面返回响应_获取并输出用户界面输入的用户名及密码信息

获取并输出用户界面输入的用户名及密码信息

基于必要的编码环境都完备 实现servlet获取参数——

简单易懂,我用的开发是IDEA,以此作为示例。

在web下创建login.html(登陆界面的html文件)
在这里插入图片描述
在这里插入图片描述
路径 action=“login” 在.xml文件中补充映射路径 提交方法选择post

创建一个loginServlet 类
因为浏览器中的form的method是post,所以LoginServlet需要提供一个doPost方法

在doPost方法中,通过request.getParameter 根据name取出对应的账号和密码

然后用System.out.println() 打印在控制台

注 这里是打印在控制台,并没有在网页上输出

package initial;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class loginServlet extends HttpServlet {
    protected  void doPost(HttpServletRequest request, HttpServletResponse response )
     throws ServletException, IOException {
       String name=request.getParameter("name");
       String password = request.getParameter("password");

       System.out.println("name:"+name);
       System.out.println("password:"+password);
    }

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

之后再web.xml中增加映射

<servlet>
        <servlet-name>loginServlet</servlet-name>
        <servlet-class>initial.loginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>loginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

一般都是< servlet >< /servlet > 和 < servlet-mapping> < /servlet-mapping> 一起出现
name 、class 是针对于这项业务所写的类 mapping就是映射路径 也就是action=“login” 每一部分都需要指定到类名 pattern 里是跳转参数

tomcat运行之后 显示的网页页面时index.jsp 不能直接跳转到login 需要再login.html中输入登录密码 之后跳转 浏览器是不会显示这个提交的数据,
在tomcat窗口能被看见 而且要想从后台tomcat服务器得到反馈数据 就得通过响应

返回响应:
一般是 在数据库中交互实现的 (也就是平时的qq等软件的账户密码是存储于数据库里的)

简化一下可以通过内存对比 判断账号密码正误
需要把loginServlet类改写:

public class loginServlet extends HttpServlet {
    protected  void doPost(HttpServletRequest request, HttpServletResponse response )
     throws ServletException, IOException {
       String name=request.getParameter("name");
       String password = request.getParameter("password");

//       System.out.println("name:"+name);
//       System.out.println("password:"+password);
        String html=null;
        if("yyp".equals(name)&&"qwer".equals(password))
        {
            html="<div align='center' style='color:green'>succes</div> ";
        }
        else
            html="<div align='center' style='color:red'>fail</div>";

        PrintWriter ps=response.getWriter();
        ps.println(html);
    }

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

比较的时候把常量字符串"admin" "123"放前面,因为用户可能没有输入账号密码就提交,servlet会获取到null。 这样就规避了空指针异常的问题。
使用中文 可能引起乱码

在login.html中输入正确的账号密码 点击登录即可
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/309974
推荐阅读
  

闽ICP备14008679号