大家好!
前言
大家好!最近一直在学习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的简单数据交互,希望能对大家带来用处,喜欢的别忘了点个赞!感谢观看!!