Java Web ___ request对象

版权声明: https://blog.csdn.net/baidu_41671472/article/details/81953215
请求与响应模式:
    客户端将请求信息通过请求对象发送给服务器,而服务器端获取到请求对
    象之后进行相应处理,最后通过响应对象返回给客户端对应的web资源。

内置对象:
    不需要预先声明就可以在脚本代码和表达式中使用的对象,成为内置对象
    jsp提供9钟内置对象,包括请求与响应两种对象。方便开发,节省开发时间。

作用域:
    jsp提供四种作用域:pageContext, request, session, application
    作用域代表数据存储的范围,如果有数据想在不同的作用范围都能使用
    就要存到不同的作用域钟

request:封装了有web浏览器或其他客户端生成HTTP请求的细节(参数,属性,头标和数据)
request作用域:在相邻两个web资源之间共享同一个request请求对象时使用。

<%
    request.setAttribute("name", "imooc"); 这里创建一个键值对,name -> imooc存储到request当中
    request.getRequestDispatcher("result.jsp").forward(request, response); 这里把这个requestresponse对象发送给名为result.jsp的web资源
    %>

out:代表输出流的对象
response:封装了放回到HTTP客户端的输出,像页面作者提供设置响应投标和状态码的方式
response对象:又叫做响应对象。客户端发送请求给服务器端,服务器做出相应处理后,由response对象向客户端发送响应信息。
也就是说可以通过response对象获得响应信息。
request作用域:用于请求的周期。也就是用户在发送请求,而服务器做出响应的过程当中,如果我们需要共享数据的话,
可以把当前数据存储到request作用域当中。

这里举个例子:
首先设计一个员工类型:Emp(员工号,名字,密码,邮箱)
然后用一个map类去映射他们,假装存在DataBase中:

101->"“101”,“AA”,"123456", "AA@qq.com""102->"“102”,“BB”,"123456", "BB@qq.com""103->"“103”,“CC”,"123456", "CC@qq.com""104->"“104”,“DD”,"123456", "DD@qq.com""

写一个函数判断登陆的用户名和密码是否正确:

    public static boolean selectEmpByAccountAndPassword(Emp emp){
        boolean flag = false;
        for(String key : map.keySet()){
            Emp e = map.get(key);
            if(emp.getAccount().equals(e.getAccount)) && emp.getPassword().equal(e.getPassword()))
            {
                flag = true;
                break;
            }
        }
        return flag;
    }//判断输入用户名密码 是否能够登陆
login-in.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>人事管理信息</title>
</head>
<body>
    <h3 align = "center">人事管理系统</h3>
    <hr>
    <!-- action 代表了服务器端的处理程序 这里指向跳转到 control.jsp 来处理表单信息 -->
    <form action="control.jsp"><!-- 这里把页面请求的信息封装到request库中 然后control.jsp就可以通过request对象获取提交内容 -->
        <table>
            <tr>
                <td>账号:</td>
                <td>
                    <input type = "text" name = "acount"/>
                </td>
            </tr>
            <tr>
                <td>密码:</td>
                <td>
                    <input type = "password" name = "password"/>
                </td>
            </tr>
            <tr>
                <td>
                    <input type = "submit" value = "登陆"/>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>
control.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <!-- 获取用户名,账号以及密码 
        1.如果正确,显示成功页面
        2.如果错误,显示错误界面
        request:获取请求信息
        getParameter(String name):可以通过一个控件的name属性来获取控件的值
        out:输出流对象,输出指定的信息。
        //println();
    -->
    <h3>响应的字符编码:<%= response.getCharacterEncoding() %><h3>
    <%
        String account = request.getParameter("acount");
        String password = request.getParameter("password");
        out.println("账号:"+ account);
        out.println("密码"+password);
    %>
</body>
</html>

login-in.jsp中的form表单通过 action 属性绑定的响应文件名去执行对应的文件,首先会跳转到对应的文件里面。
所以在运行login-in.jsp文件的提交之后,会跳转到control.jsp文件中。
这里把页面请求的信息封装到request库中 然后control.jsp就可以通过request对象获取提交内容。
所以调用out 可以直接输出我们输入的用户名和密码。

猜你喜欢

转载自blog.csdn.net/baidu_41671472/article/details/81953215