hello,又到了分享知识的时候啦,今天给大家带来的是jsp基本语法和表单提交方式,如果有填充可以留言哦。
为什么需要基于B/S技术的动态网页?
使用动态网页,可以动态输出网页内容、同用户进行交互、对网页内容进行在线更新
B/S技术的特点是什么?
什么是bs/cs?
bs:brower/server 浏览器,服务器
cs:client/server 客户端,服务器
一、jsp基本语法
JSP (Java Server Pages)是指:
- 在HTML中嵌入Java脚本代码
- 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码
- 然后将生成的整个页面信息返回给客户端
Web容器处理JSP文件请求需要经过3个阶段:
- 翻译阶段
- 编译阶段
- 执行阶段
第一次请求之后,Web容器可以重用已经编译好的字节码文件
注意:如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译
JSP 页面的元素包括:
url的组成部分是哪些?
协议 、 主机 、端口(http://localhost:8080)
如何修改Tomcat服务器的默认端口号?
1.关闭服务
2.双击服务器
3.改端口
注:还有一种方法——重启
修改服务发布路径
1.开启服务器
2.双击服务器
3.进行修改(记得保存)
二、表单提交
只是简单的表单提交没有连接数据库
效果图如下:
代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!--
表单(form)
action 表单提交的地址
method 提交的方式
* get 【默认】 显示到地址栏上,数据长度有限制
* post 不显示在地址栏上,数据长度无限制
输入框上必须要携带 name
客户端发出请求
请求发到服务器
服务器处理请求(查询,插入)
服务器把响应给客户端
请求【request】 客户端-》服务器
响应【response】 服务器-》客户端
-->
<form action="dologin.jsp" method="get">
<p>
<input type="text" name="username" placeholder="请输入用户名">
</p>
<p>
<input type="password" name="password" placeholder="请输入用户名">
</p>
<p>
<input type="number" name="age" placeholder="请输入年龄">
</p>
<p>
<input type="checkbox" name="habit" value="打球"> a
<input type="checkbox" name="habit" value="打游戏"> b
<input type="checkbox" name="habit" value="打mm"> c
<input type="checkbox" name="habit" value="打gg"> d
</p>
<p>
<button>登录</button>
</p>
</form>
</body>
</html>
设置了一个内置用户,如果输入的密码和用户名都一样就会在跳转页面显示登录成功,否则显示登录失败
代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>这是处理登录请求的界面</h1>
<%
//内置用户:sa 123
//获取到用户提交过来的表单信息
String username=request.getParameter("username");//从请求中取数据
String password=request.getParameter("password");//从请求中取数据
//从请求中取数据(类型全都是string 必须自己进行转换)
String age=request.getParameter("age");
Integer.parseInt(age);//将字符串变成数字
//接收到多个具备相同name的值
String[] ts=request.getParameterValues("habit");
//遍历
String my_habit="";
for(String habit:ts){
System.out.print(habit);
my_habit+=habit+",";//字符串拼接
}
//存到数据库中 应该是一个数据
out.print(my_habit);//实际应该是存到数据库
my_habit.split(",");//截取(一个个拿到数据)
//可以做登录验证了
if("sa".equals(username)&&"123".equals(password)){
out.print("登陆成功");
}else{
out.print("登录失败");
}
%>
</body>
</html>
好啦,今天的分享就到这里啦,拜拜,下次再见