JSP简单的数据交互

大家好!


前言

大家好!最近一直在学习JSP技术,在空闲之余和大家分享一下JSP简单的数据交互。

一、JSP是什么?

在我们学习任何一项新技术之前,都要知道这项技术是什么,我们可以用它来干什么,可以实现什么功能。那么JSP全名为Java Server Pages,中文名叫java服务器页面。运行在服务器端的程序,其根本就是一个简化的Servlet设计。简单来说就是JSP实在HTML中嵌入Java脚本代码,并在服务器中运行。

二、数据交互

1.HTML代码

前端代码代表的是用户可以看的见的东西,也就是html代码,在这里我们创建一个login.jsp文件,在里面写一个简单的表单,代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="control.jsp" method="post">
        <p>姓名:<input type="text" name="userName"></p>
        <p>密码:<input type="password" name="pwd"></p>
        <p><input type="submit" value="登录"></p>
    </form>
</body>
</html>

在这我们要注意的是form表单一定要写的两个属性,一个是action,它代表着将表单中属性的值提交到哪里去,另一个是method,加密方式,这里我们用post相对安全一些。还有就是input输入框需要设置上name值,这样能确保我们能在后台取到相对应的值。我们将代码运行到Tomcat服务器上,代码运行如下:

 

2.Java代码

有了前面的基本样式我们就可以写Java代码了,我们需要将Java代码写到另一个文件里,在这里我们创建一个新的文件,取名为control.jsp。代码如下:

<%
    request.setCharacterEncoding("utf-8");
    String name = request.getParameter("userName");
    String pwd = request.getParameter("pwd");
    if("admin".equals(name) && "123".equals(pwd)){
          out.print("登录成功");
    }else{
        out.println("登录失败");
    }
%>

这里我们需要注意以下几点:

1.在jsp文件中写Java代码需要写在<%%>中。

2.这里我们需要用到JSP九大内置对象中的request对象,使用request对象可以获取表单提交数据,但数据提交过程中可能乱码。原因是JSP页面编码格式不支持中文。这里我们就需要在第一行写上request.setCharacterEncoding("UTF-8");来防止我们出现乱码现象。

3.接受输入框的值需要用到request对象的getParameter方法,在这里我们一律用String类型接收。

最后我们进行一下数值的比较即可。

如果我们想要判断成功跳转到一个新的页面,只需要将if里面的代码稍作修改,在这里我们有两种方法可以跳转到新的页面,一个依然是用request对象(请求转发),另一种方法就是用JSP九大内置对象的response对象(重定向)。他们两个用处一样,但是有一点区别,在这里我总结了以下几点:

1.请求转发的速度快,重定向速度慢。

2.请求转发是同一个请求,而重定向是两个不同的请求。

3.请求转发后URL地址栏不会变,重定向会变成请求的新地址。

它们的写法如下:

if("admin".equals(name) && "123".equals(pwd)){
        //请求转发:登录成功,main.jsp
        request.getRequestDispatcher("main.jsp").forward(request,response);
    }else{
        //重定向:失败,login.jsp
        response.sendRedirect("login.jsp");
    }

总结

以上就是今天我要分享的内容,本文仅仅简单介绍了JSP的简单数据交互,希望能对大家带来用处,喜欢的别忘了点个赞!感谢观看!!

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤劳的小王‍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值