web学习笔记2

一.Jsp基本语法

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

2.B/S技术特点:用户端向客服端发送请求,服务器运行,访问数据库后回应客户端

在这里插入图片描述
3.web容器处理jsp文件请求需三个阶段:
翻译——>编译——>执行
在这里插入图片描述

第一次请求之后,Web容器可以重用已经编译好的字节码文件
注意:如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译

jsp页面的模板元素:HTML代码;
jsp页面的脚本片段:Java代码
[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imbloggdnimg.cn/34eGbbf8fbsf4348b98d64U1d0eb7f48bd39.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiNoL2Z55Sf,size_20,color_FFFFFF,t_60,g_se,x_16749)(h问ttps://img-blog.csdnimg.cn/34edbbf8fb4f4348b981d0eb7f48bd39.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiN5oOz5L2Z55Sf,size_20,color_FFFFFF,t_70,g_se,x_16)]

在运行Web程序时,常犯的一些错误有:
未启动Tomcat服务,或者没有在预期的端口中启动Tomcat服务
未部署Web应用,就试图运行Web程序
运行时,URL输入错误
存放文件的目录无法对外引用,如:文件放入了WEB-INF、META-INF等文件夹

jsp中有五大常用内置对象:
在这里插入图片描述

jsp内置对象之request
	【String getParameter(String name)】:根据name值得到value值
	【String[ ] getParameterValues(String name)】:根据name值得到多个value值 例如:爱好
	【void setCharacterEncoding(String charset)】:设置编码方式
<%@page import="java.util.Date"%><!--导包  -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="1"><!-- 可用meta标签实现时钟特效:每隔一秒刷新一次页面  -->

<title>Insert title here</title>
<!--此处引入了jQuery的类库  -->
<script type="text/javascript"src="js/jquery-3.3.1.js"></script>
<!--重起了一个script块  -->
<script type="text/javascript">
	//此处写jquery语法!
	/*回顾:鼠标移上事件  */
	/* $("table tr").mouseover(function(){
		alert("干啥?");
	}) */
/* 	function $(sid){
			return document.getElementById(sid);
	}
	//用js的setInterval()/setTimeout()递归?
	function myf(){
		var d=new Date();
		var y=d.getFullYear();
		var m=d.getMonth()+1;
		var r=d.getDate();
		var h=d.getHours();
		var f=d.getMinutes();
		var s=d.getSeconds();
		var str= y+"年"+m+"月"+r+"日"+h+":"+f+":"+s;
		$("d").innerHTML=str;
		setTimeout("myf()",1000);
	}
	window.οnlοad=myf; */
</script>
</head>
<body>
	<div id="d"> </div>
	<%
	//用js的setInterval()/setTimeout()递归?
	Date d=new Date();//取系统当前日期
	out.print(d.toLocaleString());//.toLocaleString()转成string类型 本地格式打印
	%> 
	<!--(看源码的路径地址): 信息: CATALINA_BASE:     D:\java系列\Javaweb\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 -->
	<!--jsp表达式:将一个java变量或表达式的计算结果输出到页面(客服端)  -->
	<% int a=10;  %>
	<%=a %><!-- 相当于out.print(a); -->
	
	
	<%!
	int xx=888;//此处声明的变量是全局变量
	public int getMax(int a,int b){
		//out.print("哈哈哈");//out在此处不能用,1.因为作用域 局部变量
		return a>b?a:b;
		
	}
	
	%>
	
	<% out.print(getMax(10,20));//方法的调用1
	//方法的调用2:先接收后调用
	int m=getMax(445,3);
	out.print(m);
	%>
	<%=getMax(234,55)  %><!-方法的调用3 -->
		<!-- 这是html注释:在源代码中可见 -->
	<%-- 这是jsp注释:反之 --%>
	
</body>
</html>

jsp常见错误代号
404:路径有误 找不到页面
500:代码有误

二.表单提交方式:

1.get(默认)安全性低 地址栏可见信息 有数据长度限制
2.post 反之 以后表单常用

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 登陆界面 action:表单提交的位置  method 表单提交的方式-->
<!--表单提交方式
1.get(默认)安全性低 地址栏可见信息 有数据长度限制
2.post 反之  以后表单常用
  -->
<form action="dologin.jsp" method="post">
用户名:<input type="text" name="sname"><br/>
密码:<input type="password" name="spwd"><br/>
<input type="submit" value="登陆">
<input type="reset" value="清空">
</form>
</body>
</html>

业务逻辑页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% 
//纯业务逻辑,java代码
//设置编码方式
request.setCharacterEncoding("utf-8");//先转码,再取值
//接收表单提交过来的值(用户名 密码) 根据name值取value值

//request可以接收2种方式值  1.表单值  2. 地址栏传参数?sname=11&spwd=11

String name= request.getParameter("sname");//.getParameter("sname")中的值必须与login.jsp中name值保持一致
String pwd=request.getParameter("spwd");
out.print(name+" "+pwd);
%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想余生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值