jsp笔记1(基本原理与语法)
web.xml文件配置管理的范围:
1.配置jsp
2.配置和管理Servlet
3.配置和管理Listener
4.配置和管理Filter
5.配置标签库
6.配置jsp属性
7.配置和管理JAAS授权认证
8.配置和管理资源引用
9.web应用首页
10.Servlet3.0规范中,新增了metadata-complete:true或false,当为true,不会加载注解配置的Web组件(如Servlet,Listener,Filter等)
JSP基本原理:
1.jsp的本质是Servlet,web应用中的每个jsp页面都会由Servlet容器编译成对应的Servlet,然后Servlet使用输出流来动态生成HTML页面。
2.jsp页面的内容组成:
1.静态部分:不受java程序控制的,比如标准的html标签、静态的页面内容
2.动态部分:受java程序控制的内容
3.当一个jsp页面被编译成Servlet时,此时的文件存放在tomcat的work路径下面,会生成Servlet对应的两个文件,一个java,一个class文件,在java文件中主要包含三个方法(去除方法名中的_jsp前缀,再将首字母小写)
1.init():初始化jsp/Servlet的方法
2.service():对用户请求生成响应的方法
3.destroy():销毁jsp/Servlet之前的方法
4.jsp页面工作原理:

jsp的4种基本语法:
1.jsp注释:<%-- jsp注释 --%>
对比html的注释<!--html注释-->,区别在于,html的注释是可以通过查看源代码查看到的,但jsp的注释就看不到,这说明jsp注释不会被发送到客户端。
2.jsp声明:<%! 声明部分 %>,jsp页面的声明部分将转为Servlet的成员变量或成员方法
3.输出jsp表达式:<%=表达式 %>,可用jsp的输出表达式来替换out.println()来进行结果的输出;
4.jsp脚本:<% java代码部分 %>,jsp脚本部分的代码会转换成Serlvet里service()方法的代码,故在jsp脚本里面可以声明变量,对应着Servlet方法中的局部变量,但是jsp脚本中不能定义方法,因为java语法中不允许在方法里定义方法
脚本示例:连接数据库与执行数据库操作
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.ResultSet" %><%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2018/1/4
Time: 16:46
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>数据库连接与操作</title>
</head>
<body>
<%
//1.注册数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取数据库连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
//3.创建Statement
Statement statement = connection.createStatement();
//4.执行查询
ResultSet rs = statement.executeQuery("select * from user"); %>
<table width="300" border="1" bgcolor="#9999dd">
<%
while(rs.next()){
%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
</tr>
<% }
rs.close();
statement.close();
connection.close();
%>
</table>
</body>
</html>
由于操作了数据库,故还要导入mysql驱动的jar包,这步不能忘记。
运行截图:

jsp笔记1(基本原理与语法)的更多相关文章
- Struts框架——(一)用Servlet + JSP演示Struts基本原理
一. 用Servlet + JSP演示Struts基本原理 struts是开源项目.它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC的应用框架.Stru ...
- React笔记_(3)_react语法2
React笔记_(3)_react语法2 state和refs props就是在render渲染时,向组件内传递的变量,这个传递是单向的,只能继承下来读取. 如何进行双向传递呢? state (状态机 ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- JSP开发中的基础语法
JSP 语法 JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代码片段 %> 或者 ...
- Hadoop学习笔记之HBase Shell语法练习
Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...
- 运维开发笔记整理-Django模型语法
运维开发笔记整理-Django模型语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模型基本概念 1>.什么是模型 模型是你的数据唯一的,权威的信息源.它包含你所存储数 ...
- JSP(1) - JSP简介、原理、语法 - 小易Java笔记
1.JSP简介 (1)JSP的全称是Java Server Pages(运行在服务器端的页面),实际就是Servlet(学习JSP的关键就是时刻联想到Servlet) (2)JSP.Servlet各自 ...
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
- python 笔记2:python语法基础
python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...
随机推荐
- (原)UE4 制作执行队列(Action Queue)
队列和树在游戏开发中是比较常见的数据结构,在一定范围能保证执行的顺序. 结合一些设计模式技巧,往往可以做一些神器. 如加载块chunk管理,任务系统(当然也可以使用行为树来做复杂的任务系统). ...
- PHP实现RSA签名生成订单功能【支付宝示例】
//组合签名 $a=time(); $b=substr($a, 1); //生成随机订单号 $orderid= $b.mt_rand(10000,99999); //合作身份者id,以2088开头的1 ...
- [poj] 3090 Visible Lattice Points
原题 欧拉函数 我们发现,对于每一个斜率来说,这条直线上的点,只有gcd(x,y)=1时可行,所以求欧拉函数的前缀和.2*f[n]+1即为答案. #include<cstdio> #def ...
- JS DOM对象与jQuery对象的转换
JS转jQuery // 直接用$()来包裹 如同$(this) $(document) var jsObj = document.getElementById('test'); var jquery ...
- BZOJ3238 [Ahoi2013]差异 【后缀数组 + 单调栈】
题目链接 BZOJ3238 题解 简单题 经典后缀数组 + 单调栈套路,求所有后缀\(lcp\) #include<iostream> #include<cstdio> #in ...
- Dom的深度优先遍历和广度优先遍历
//深度优先遍历的递归写法 function DFTraversal(node) { var nodes = []; if (node != null) { nodes.push(node); var ...
- 【BZOJ 2809 dispatching】
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 4393 Solved: 2246[Submit][Status][Discuss] Descript ...
- Jquery不同版本共用的解决方案(插件编写)
最近在为某公司做企业内部UI库,经过研究分析和评审,决定基于Jquery开发,结合Bootstrap插件那简洁,优雅,高效的思想进行插件编写. 但是在编写的过程中遇到一个头疼的问题,就是正在编写的插件 ...
- Vue props父组件向子组件传值详解
vue官网上可以说有我们想要的一切,先贴上通过prop传值的官网地址:通过prop向子组件传递数据 Prop是什么? Prop是你可以在组件上注册的一些自定义特性.当一个值传递给一个prop特性的时候 ...
- HDU2824 The Euler function
Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u Description The Eule ...