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包,这步不能忘记。  

  运行截图:

最新文章

  1. 对C语言的知识与能力予以自评
  2. 描述Linux运行级别的0-6的各自含义(计时1分钟)
  3. Hadoop.2.x_MR-Shuffle过程
  4. Window中调试HBase问题小结
  5. 暑假热身 B. 下载测速
  6. C# 中类和结构的区别
  7. Entity framework - start
  8. 利用Fiddler抓取websocket包
  9. 在Owin Self-Hosing下实现每个请求中共享上下文(数据)
  10. 笔记︱支持向量机SVM在金融风险欺诈中应用简述
  11. webservice生成客户端代码
  12. Qt 文件的操作
  13. Oracle 19c使用dbca来搭建物理DG
  14. lamp/lnmp下添加PHP扩展
  15. Wed Jul 04 18:01:38 CST 2018 WARN: Establishing SSL connection without server&#39;s identity verification is not recommended
  16. Directshow 采集与FFDshow 冲突
  17. Zabbix应用五:Zabbix监控多Tomcat
  18. 如何选择使用IEnumerable, ICollection, IList
  19. consensus sequence
  20. web应用安全发展与介绍

热门文章

  1. day06_07 字典操作02
  2. Oracle 学习---- 练习语法 循环( loop end loop; for ;while; if elsif end if )
  3. TensorFlow——深度学习笔记
  4. Vue.js特性
  5. Block层也是有IO的优先级的
  6. 洛谷 P4882 lty loves 96! 解题报告
  7. WebStorm 2017.1.2 汉化破解
  8. nginx配置C compiler cc is not found
  9. Agile已死, Agility长存
  10. Oracle 根据逗号分隔字符串 同时记录一波坑