jsp基本语法
- b/s结构与c/s结构的区别
目录
cs client/server 对应的是(客户端和服务器)
bs brower/server 对应的是 (浏览器和服务器)
- 一个完整的url由几部分组成
由三个部分组成 分别为(协议 主机 端口)
二.为什么需要基于B/S技术的动态网页
因为使用动态网页,可以动态输出网页内容、同用户进行交互、对网页内容进行在线更新
B/S技术的特点是什么?
如下图:
如何在浏览器上动态输出当前日期?
显然,无法通过静态HTML完成这个效果,试一试JSP,看看是否可行
如:
html
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head><title>输出当前日期</title></head>
<body>
你好! 今天是
<%
java.text.SimpleDateFormat formater = new java.text.SimpleDateFormat(
"yyyy年MM月dd日");
String strCurrentTime = formater.format(new java.util.Date());
%>
<%=strCurrentTime %>
</body>
</html>
效果:
JSP (Java Server Pages)是指:
在HTML中嵌入Java脚本代码 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码 然后将生成的整个页面信息返回给客户端
如下图:
JSP 页面的元素包括:
如下图:
在JSP文件的编写过程中,共有三种注释方法
- <!-- html注释--> 这个注释有缺点:不安全,加大网络传输负担
- <%-- JSP注释--%>
在JSP脚本中注释:
- <% //单行注释 %>
- <% /*多行注释 */ %>
表单提交方式
需求:
- 客户端发出请求
- 请求发到服务器
- 服务器处理请求(查询,插入)
源码:
这边是输出:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<%--
表单(form)
action:表单提交的地址
method:表单提交的方式
* get(默认) 显示在地址栏上,数据长度有限制
* post 不显示在地址栏上,且数据长度没有限制
必须携带name属性,不然接收不到数据
--%>
<form action="index_02.jsp" method="post">
<p>
<input type="text" name="username" placeholder="请输入用户名">
</p>
<p>
<input type="password" name="password" placeholder="请输入密码">
</p>
<p>
<input type="checkbox" name="habit" value="吃饭">吃饭
<input type="checkbox" name="habit" value="打豆豆"> 打豆豆
<input type="checkbox" name="habit" value="睡觉"> 睡觉
</p>
<p>
<button>登录</button>
</p>
</form>
</body>
</html>
效果:
接收:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 处理登录请求 -->
<h1>这里是处理登录请求的界面</h1>
<%
//内置用户:sa 123
//获取用户提交过来的表单信息
//取到的数据全都是String类型,如果需要其他类型,需要自己手动转换
String username=request.getParameter("username");//从请求中取数据
String password=request.getParameter("password");//从请求中取数据
//接收多个具备相同name属性的值
//String[] ts=request.getParameterValues("habit");
String[] ts=request.getParameterValues("habit");
//遍历
String My_habit="";
for(String habits:ts){
System.out.println(habits);//这一行不会显示在页面上,而是显示在eclipse控制台上
My_habit+=habits+",";//字符串的拼接
}
//保存到数据库中的数据应该是一个数据
out.print(My_habit);//这是打印到页面上
//做登录验证使用内置用户进行验证
if("sa".equals(username)&&"123".equals(password)){
out.print("登录成功");
}else{
out.print("登录失败");
}
%>
本期内容就在这里 谢谢浏览