02(jsp基本语法&表单提交方式)
思维导图
jsp的运行原理
一共通过三个阶段,先翻译,即.jsp翻译成.java,再编译,将.java编译成.class,然后才能执行
jsp模板元素?是jsp页面的html代码
jsp脚本片段?是jsp页面的java代码
jsp表达式
<%=对象或变量名或者表达式%>
相当于out.print()
jsp注释
<%!变量或者方法%>
html和jsp注释的区别
html:在源代码中可见<!——>
jsp反之<%——%>
表单提交方式两种:
1 get(默认)安全性低 地址栏可见信息有数据长度的限制
2 post 反之
B/S技术的特点是什么?
如下图:
如何在浏览器上动态输出当前日期?
<%@ 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>
效果:
表单提交的要求
需求:
1.客户端发出请求
2.请求发到服务器
3.服务器处理请求(查询,插入)
输出效果:
<%@ 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>
接收:
接收:
<%@ 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("登录失败");
}
%>