JSP笔记

本文详细介绍如何在Tomcat下建立虚拟目录,并讲解了application对象的功能及其与session的区别。此外,还介绍了JSP的安全性和config对象的应用,以及如何通过web.xml配置文件实现JSP页面的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 Tomcat下建立虚拟目录

例:  建立目录 d:\testWeb  在其中建立一个WEB-INF文件夹    然后:从Tomcat目录中\webapps\ROOT\WEB-INF 复制web.xml到d:\testWeb\WEB-INF 删除 与之间的内容   最后:配置Tomcat目录下\conf\server.xml文件  ,  在最后上添加  <context path="/test" docbase="d:/testWeb"></context>    重启Tomcat服务器,便可通过http://localhost:8080/test/访问虚拟目录的站点了....

application对象
与session类似,也是用来保存信息,实现在不同页面的参数传递;但application实所有
用户共享的,任何用户都可以访问,而session对象则是每个用户私有的.

application       属于javax.servlet.ServletContext 包中  应用
得到工作目录的真实路径

在实际应用中一半用getServletContext()  代替  application 调用


JSP安全性及config对象的应用:
在J2EE中安全性体现:工作目录的WEB-INF文件夹

如果能够将一个页面保存在WEB-INF文件夹下,安全性高不高?
但是页面无法发现

解决一个问题:使页面能够被用户访问
解决方法:在WEB-INF文件夹之下存在一个web.xml文件
web.xml文件:属于整个web站点的配置文件



增加以下配置内容

xml 代码
  1. <servlet>  
  2.  <servlet-name>mldnservlet-name>   
  3.  <jsp-file>/WEB-INF/hello.jspjsp-file>  
  4. servlet>  
  5. <servlet-mapping>  
  6.  <servlet-name>mldnservlet-name>  
  7.  <url-pattern>/lxhurl-pattern>  
  8. servlet-mapping>  

此文件一旦被修改之后,必须重新启动服务器 -- 因为服务器在启动的时候会读取此文件

config对象
  -- config对象一般用于取得服务器的初始化配置参数,但若要使用此对象应在WEB-INF/web.xml中配置
要使用config前提:JSP页面必须在web.xmlzhong进行配置

xml 代码


如果要取得这些初始化参数,必须通过映射名称进行访问JSP页面,才可以取得初始化参数,就通过
config对象取得.

查找J2EE稳定:config对象:javax.servlet.ServletConfig

取得初时化参数的方法:public String getInitParameter(String name)
通过此功能,可以将数据库连接的一些信息写在配置文件之中 --- JDBC程序的时候
public Enumeration getInitParameterNames()  与request.getParameterNames()方法类似,是
取得全部配置参数信息


默认首页设置
修改web.xml文件:Tomcat5.0\conf\web.xml

xml 代码
  1. <welcome-file-list>  
  2.     <welcome-file>index.htmlwelcome-file>  
  3.     <welcome-file>index.htmwelcome-file>  
  4.     <welcome-file>index.jspwelcome-file>  
  5. welcome-file-list>    

********************************面试中常见问题*******************************
两种inlclude的区别


--静态的包含页面:不管其文件内容如何只是将页面中的内容包含进来
--执行时:先将所有内容包含进来一起处理完之后再将所有的内容发送给客户端


--动态包含页面:能自动区分所包含的是静态还是动态页面
--执行时:
  -如果资源为静态资源则直接将资源包含处理与 相同
  -如果请求资源为动态,则先各自处理资源,之后将处理后的结果包含在一起

: 所有代码包含进来之后,一起进行处理,把所有代码合在一起
: 所有代码分别处理,处理完成之后再将代码的显示结果(处理结果)包含进来


*****************************************面试中常见问题************************
两种跳转的区别

   -地址栏不改变跳转  ----服务器端跳转
   -执行到跳转语句后无条件立刻跳转  ----  之后的代码不再执行
   -注意:如果使用forward跳转,则一定要在跳转之前释放掉全部的资源
   -使用forward时,request设置的属性依然能保留在下一个页面(setAttribute)
   -通过传递参数

2  reponse.sendRedirect("地址");
   -地址栏改变跳转 ----  客户端跳转
   -所有代码执行完毕之后再跳转
   -不能保存request属性  ----  地址改变了,客户端跳转
   -通过对URL地址的重写传递参数

 

 

动态web最大特点是--->可以操作数据库
JSP属于动态web站点--->通过JDBC操作数据库

JDBC     -----   Java DataBase Connectivity
java数据库连接技术的简称.JDBC也是java用于访问数据库的一套标准
API,于java语言编写的一组类与接口组成

JDBC 本身是JAVA连接数据库的一个标准

数据库管理系统

使用数据库之中,可以发现,对数据的处理由数据库管理系统去完成,而程序只是将需要
的数据进行显示

JDBC:是java操作数据的方法,是sun提供的
ODBC:是微软操作数据库的连接方法
比较:  ODBC支持的数据库类型多
       JDBC基于Java跨平台特性,移植性好

JDBC-ODBC bridge --- 将JDBC访问指令转换成ODBC指令
JDBC-native driver bridge --- JDBC访问转成数据库驱动程序,在客户端的API直接完成对数据
库的操作.这类驱动程序需要在每台客户机上预先安装,使用和维护不方便
JDBC-network bridge --- 将JDBC访问转换成与数据库无关的网络协议送出,然后由一个中间服务器再将之转换成特定数据库的访问指令

JDBC-ODBC bridge :使用ODBC提供的数据库连接技术访问数据库,在开发中此方法肯定不用,因为性能较低
JDBC驱动连接:是由各数据库生产厂家提供

JDBC-ODBC是在JDK中由SUN本身开发出来的一套数据库访问操作,在JDBC-ODBC桥接中
它的操作API都是最新的,但是性能不高
JDBC连接:所有的驱动程序要由各个数据库生产厂商提供

java 代码
  1. <%@ page contentType="text/html;charset=gb2312"%>   
  2. <%@ page import="java.sql.*"%>   
  3. <%!   
  4.     // 定义数据库驱动程序   
  5.     String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver" ;   
  6.     // 定义数据库连接地址   
  7.     String DBURL = "jdbc:odbc:mldn" ;   
  8.   
  9.     // 定义数据库连接对象,属于java.sql包中的接口   
  10.     Connection conn = null ;   
  11.   
  12.     // 定义Statement对象,用于操作数据库   
  13.     Statement stmt = null ;   
  14.   
  15.     // 定义一字符串变量,用于保存SQL语句   
  16.     String sql = null ;   
  17. %>   
  18. <%   
  19.     // 1、加载驱动程序   
  20.     try  
  21.     {   
  22.         Class.forName(DBDRIVER) ;   
  23.     }   
  24.     catch(Exception e)   
  25.     {   
  26.         // 此处使用out.print是处于演示目的,在实际开发中所有的错误消息,绝对不能够通过out.print打印,否则会存在安全问题   
  27.         out.println("数据库驱动程序加载失败!!!") ;   
  28.     }   
  29.   
  30.     // 2、连接数据库   
  31.     try  
  32.     {   
  33.         conn = DriverManager.getConnection(DBURL) ;   
  34.     }   
  35.     catch(Exception e)   
  36.     {   
  37.         out.println("数据库连接失败!!!") ;   
  38.     }   
  39.   
  40.     // 3、操作数据库   
  41.     // 通过Connection对象实例化Statement对象   
  42.     try  
  43.     {   
  44.         stmt = conn.createStatement() ;   
  45.         // 为sql变量赋值   
  46.         // 插入语句   
  47.         sql = "INSERT INTO person (name,password,age) VALUES ('LXH','zzzzzz',28)" ;   
  48.         // 更新语句   
  49.         // sql = "UPDATE person SET name='李兴华',password='www.mldn.cn' WHERE id=3" ;   
  50.         // 按ID删除记录   
  51.         // sql = "DELETE FROM person WHERE id=4" ;   
  52.         // 通过Statement对象执行此SQL语句   
  53.         stmt.executeUpdate(sql) ;   
  54.     }   
  55.     catch(Exception e)   
  56.     {   
  57.         out.println("操作数据库失败!!!") ;   
  58.     }   
  59.     // 4、关闭数据库   
  60.     try  
  61.     {   
  62.         // 关闭操作   
  63.         stmt.close() ;   
  64.         // 关闭连接   
  65.         conn.close() ;   
  66.     }   
  67.     catch(Exception e)   
  68.     {   
  69.         out.println("数据库关闭失败!!!") ;   
  70.     }   
  71. %>  
 
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 这个HTML文件是一个专门设计的网页,适合在告白或纪念日这样的特殊时刻送给女朋友,给她带来惊喜。它通过HTML技术,将普通文字转化为富有情感和创意的表达方式,让数字媒体也能传递深情。HTML(HyperText Markup Language)是构建网页的基础语言,通过标签描述网页结构和内容,让浏览器正确展示页面。在这个特效网页中,开发者可能使用了HTML5的新特性,比如音频、视频、Canvas画布或WebGL图形,来提升视觉效果和交互体验。 原本这个文件可能是基于ASP.NET技术构建的,其扩展名是“.aspx”。ASP.NET是微软开发的一个服务器端Web应用程序框架,支持多种编程语言(如C#或VB.NET)来编写动态网页。但为了在本地直接运行,不依赖服务器,开发者将其转换为纯静态的HTML格式,只需浏览器即可打开查看。 在使用这个HTML特效页时,建议使用Internet Explorer(IE)浏览器,因为一些老的或特定的网页特效可能只在IE上表现正常,尤其是那些依赖ActiveX控件或IE特有功能的页面。不过,由于IE逐渐被淘汰,现代网页可能不再对其进行优化,因此在其他现代浏览器上运行可能会出现问题。 压缩包内的文件“yangyisen0713-7561403-biaobai(html版本)_1598430618”是经过压缩的HTML文件,可能包含图片、CSS样式表和JavaScript脚本等资源。用户需要先解压,然后在浏览器中打开HTML文件,就能看到预设的告白或纪念日特效。 这个项目展示了HTML作为动态和互动内容载体的强大能力,也提醒我们,尽管技术在进步,但有时复古的方式(如使用IE浏览器)仍能唤起怀旧之情。在准备类似的个性化礼物时,掌握基本的HTML和网页制作技巧非常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值