• Servlet-2获取请求,响应结果


    获取请求参数值
    1)HttpServletRequest
      ①      该接口是ServletRequest接口的子接口,封装了HTTP请求的相关信息,由Servlet容器创建其实现类对象并传入service(ServletRequest req, ServletResponse res)方法中。以下我们所说的HttpServletRequest对象指的是容器提供的HttpServletRequest实现类对象。
      ②      HttpServletRequest对象的主要功能有
                       获取请求参数
                      在请求域中绑定数据
                       将请求转发给另外一个URL地址 [转发]
    响应结果
    1)HttpServletResponse
      ①      该接口是ServletResponse接口的子接口,封装了HTTP响应的相关信息,由Servlet容器创建其实现类对象并传入service(ServletRequest req, ServletResponse res)方法中。以下我们所说的HttpServletResponse对象指的是容器提供的HttpServletResponse实现类对象
      ②      主要功能
                       使用PrintWriter对象向浏览器输出数据
                       实现请求的重定向[重定向]

    <body bgcolor="pink">
            <h1>欢迎登录</h1>
            <!-- 
                action: 请求的地址 http://http://localhost:8080/web/login  和从浏览器网址端输入效果一样,向服务器发送请求。可以是相对路径,所以可以只写login,对应web.xml文件pattern
                method: 请求的方式   
                        GET   :将请求数据拼接到请求地址中, 直接暴露出来. 3http://localhost:8888/web01/login?username=Admin&password=123456
                        POST  :将请求数据存到请求体中提交,不会直接暴露出来。
             -->
            <form action="login" method="post">
                用户名称:<input type="text" name="username"/>
                <br/>
                用户密码 :<input type="password" name="password"/>
                <br/>
                <input type="submit" value="Login"/>
            
            </form>
        </body>

    package com.web.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 LoginServlet extends HttpServlet {
        /*
        //根据具体的请求方式来调用doGet 或者 doPost
        @Override
        protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
                throws ServletException, IOException {
            // TODO Auto-generated method stub
            super.service(arg0, arg1);
        }
        */
        
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            doPost(req, resp);
        }
        
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            //System.out.print("qingqiu");
            
            req.setCharacterEncoding("utf-8");
            //获取用户名
            String username = req.getParameter("username");
            //获取密码
            String password = req.getParameter("password");
            System.out.println(username + " , " + password ); 
            
            resp.setContentType("text/html;charset=utf-8");
            PrintWriter out = resp.getWriter();
            
            if("Admin".equals(username)&&"123456".equals(password))
                out.println("<h1><font color='green'>Login Success! 登录成功<h1>");
            else {
                out.println("<h1><font color='green'>Login Fail! 登录失败<h1>");
            }
        }
    
    }
  • 相关阅读:
    C语言程序设计100例之(12):Eratosthenes筛法求质数
    C语言程序设计100例之(11):求质数
    C语言程序设计100例之(10):最大公约数
    C语言程序设计100例之(9):生理周期
    C语言程序设计100例之(8):尼科彻斯定理
    C语言程序设计100例之(7):级数求和
    C/C++ 内部连接与外部连接
    C/C++ 内存管理问题
    C/C++浮点数的比较
    C/C++规范
  • 原文地址:https://www.cnblogs.com/lemonzhang/p/12844583.html
Copyright © 2020-2023  润新知