JavaWeb02(jsp基本语法及表单提交方式)

本文介绍了JavaWeb中的JSP基本概念,包括B/S和C/S结构的区别、URL组成、端口修改方法、BS技术特点与作用。详细讲解了JSP的注释类型、执行过程和页面组成。同时,讨论了常见的HTTP错误如404和500,以及如何动态显示当前日期。此外,还阐述了表单数据的提取,包括GET和POST提交方式,以及如何使用request.getParameter()获取用户输入信息。
摘要由CSDN通过智能技术生成

一,B/S结构与C/S结构的区别
CS:client/server 客户端/服务器

BS: brower/server 浏览器/服务器

java程序员主要是面向BS结构,后期也是可以接触CS结构的

二,完整URL的组成
有三部分组成:协议,主机,端口

示例:

http://localhost:8080

http 代表的是超文本传输协议

localhost 代表的是主机部分,这里代表本机

8080 代表的是端口部分

三,如何修改端口号(遇到报错情况(端口已被占用))
1.首先关闭服务(具体方法可参考昨天分享)

2.双击服务器,进入以下界面,右边就可以对端口号进行修改

四,BS的技术特点及作用
BS的作用:
使用动态网页,可以动态输出网页内容、同用户进行交互、对网页内容进行在线更新
BS的技术特点:
用户(客户端)发送请求到服务器(Tomcat)JSp文件-->把内容传入数据库-->由服务器返回一个响应(返回到客户端)

请求【request】  客户端-->服务器
响应【response】  服务器-->客户端


 

五,关于JSP
JSP (Java Server Pages)是指:
在HTML中嵌入Java脚本代码 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码 然后将生成的整个页面信息返回给客户端

jsp是一个文件格式
java + html + css +js

jsp本质上就是一个java文件

我们写的是jsp文件
tomcat会把jsp文件变成java文件
jvm(java编译器)会把java变成.class

 

 

SP中的注释:
在JSP文件的编写过程中,共有三种注释方法:

HTML的注释:<!-- html注释-->  这种注释可以被打印出来
JSP注释:<%-- JSP注释--%>  这种注释打印不出来
在JSP脚本中注释: <% //单行注释 %>
                                <%  /*多行注释 */ %>

 JSP的执行过程:

 

JSP的页面组成:

        JSP页面中的元素:

 

六,常见的报错
1.404 页面找不到(路径存在问题)
2.500 java代码有问题
例子:实现在网络中动态实现当前日期
代码:

这里有两种方法来打印

第一种就是直接   out.print(new Date())

第二种就是利用<%=  (表达式 也就是out.print的简写)比如:<%=new Date() %>  在这里的 = 就相当于上面的打印

 


<%@page import="java.util.Date"%>
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>第二节课</title>
</head>
<body>
<h1>欢迎来到项目的首页</h1>
<img src="images/3.gif">
<%
	//输出当前的日期
	//out.print(new Date());
%>
<!-- out.print -->
<%=new Date() %>  
<%=1+2 %>
<!-- 我是注释1 -->
<%-- 我是注释2 --%>
</body>
</html

 

七,表单数据提取
1.表单(form)
    action 表单提交的地址
    method 提交的方式
        * get 【默认】 显示在地址栏上面,数据长度有限制
        * post 不显示在地址栏上,数据长度无限制
【输入框上面必须要携带 name】

2.获取用户提交的信息的方法
从请求中取数据:request.getParameter()  括号里面可以放name
先创建一个简单的登录界面(记住 name属性必不可少)
 

<%@ 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="doLogin.jsp" method="get">
	<p>
		<input type="text" name="username" placeholder="请输入用户名">
	</p>
	<p>
		<input type="password" name="password" placeholder="请输入密码">
	</p>
	<p>
		<button>登录</button>
	</p>
</form>
</body>
</html>

然后可以对界面进行简单的优化,比如增加一点属性(年龄,兴趣爱好等)记住这里同样不能忘记name属性哦


 


<%@ 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】
-->
<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="看电视"> C
		<input type="checkbox" name="habit" value="吃美食"> D
	</p>
	<p>
		<button>登录</button>
	</p>
</form>
</body>
</html>

 创建一个处理登陆请求的界面:

这时候就可以用到刚刚给用户名和密码设置的 name 属性 通过它来获取用户输入的数据(所有的数据拿出来都是String类型  所以需要我们手动去转换类型)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!-- 处理登录请求 -->
<h1>这是处理登录请求的界面</h1>
<%
	// 内置用户:sa 123
	
	//获取到用户提交过来的表单信息
	String username=request.getParameter("username");//从请求中取数据
	String password=request.getParameter("password");//从请求中取数据
	
	//从请求中取数据(类型全都是String 必须自己做转换)
	String age=request.getParameter("age");
	Integer.parseInt(age);// 将字符串变成数字
	
	String[] ts=request.getParameterValues("habit");//接收到多个具备相同name的值
	//遍历
	String my_habit="";
	for(String habit:ts){
		System.out.println(habit);//这一行会显示在页面上嘛?
		my_habit+=habit+",";//字符串拼接
	}
	//存到数据库中 应该是一个数据
	out.print(my_habit);//存到数据库
	my_habit.split(",");
	
	//可以做登录验证了
	if("sa".equals(username)&&"123".equals(password)){
		out.print("登录成功");
	}else{
		out.print("登录失败");
	}
	
	//【注册】

 这样,一个简单的表单验证就完成啦,大家有没有学会呢,想知道更多代码知识的话,精彩下期继续哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值