存档

2008年2月 的存档

JDBC连接Mysql数据库

2008年2月19日

看了JDBC连接技术视频,特别想试着连连看,但是视频中老师是连接的Oracle数据库,而我的机器上并没有装Oracle,所以想连别的数据库,比如说Mysql。

按照视频中老师讲解的方法,JDBC连接任何数据库搞定两个步骤即可,一是找到欲连接的数据库的JDBC驱动,二是写好数据库连接地址,所以我照着这两点尝试着连Mysql:

第一步:找到Mysql的JDBC连接驱动(下载地址)。

第二步:将下载下来的文件解压,将其中的mysql-connector-java-5.1.5-bin.jar拷贝到%TOMCAT_HOME%\lib目录下。

第三步:在要连接数据库的JSP页面中填写参数,具体如下:

  • 数据库驱动程序为:”com.mysql.jdbc.Driver”
  • 数据库连接地址为:”jdbc:mysql://localhost/[数据库名]“

完成以上步骤,JDBC连接Mysql数据库的核心步骤基本就搞定了,剩下的就是JDBC的一些固定步骤了。

我在网上搜索jdbc连接mysql数据库的方法时发现了我在视频中学到的方法并不是和网上的方法完全一致,有点小的差别,但是我用以上的方法是能成功连接的。

附:JDBC连接Mysql数据库代码

<%
//定义数据库操作的常量及对象
//数据库驱动程序
final    String    DBDRIVER            =    "com.mysql.jdbc.Driver"    ;
//数据库连接地址
final    String    DBURL                =    "jdbc:mysql://localhost/jsp"    ;
//数据库用户名
final    String    DBUSER            =    "root"    ;
//数据库密码
final    String    DBPASSWORD        =    "root"    ;
//声明一个数据库连接对象
Connection        conn                =    null;
//声明一个数据库操作对象
Statement    stmt                    =    null;
//声明一个结果集对象
ResultSet    rs                        =    null;
String        sql                        =    null;
%>
 
<%
//进行数据库操作
try
{
//加载驱动程序
Class.forName(DBDRIVER)     ;
//连接数据库
conn    =    DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD)    ;
//实例化数据库操作对象
stmt    =    conn.createStatement()    ;
//编写SQL语句
sql        =    " SELECT name FROM person WHERE id='"+name+"' AND password='"+password+"'";
//查询记录
rs    =    stmt.executeQuery(sql)    ;
if (rs.next())
{
//如果有记录,执行此段代码
flag     =    true    ;
}
//依次关闭
rs.close()    ;
stmt.close()    ;
conn.close()    ;
}
catch (Exception e)
{
}
%>

alex 工作学习 , , ,

(八)JSP基本语法G–其他对象

2008年2月13日

过年期间对自己要求有点放松了,好几天没看视频了,今天开始照常!

Application对象:属于javax.servlet.ServletContext,其作用是保存公共信息

  • 属性操作的三个方法:setAttribute(),getAttribute(),removeAttribute()
  • 得到工作目录的真实路径的方法:Public String getRealPath(String path)此方法需要一个参数“/”
  • Application是整个服务器中保持的只有一个实例的对象
  • 在实际开发中经常使用getServletContext()去代替Application

out对象:

  • out对象主要用于动态的向客户端输出数据
  • 在JSP开发中要尽量少使用此对象
  • 开发中的原则:
    • HTML代码与JAVA代码分离,如果要输出,尽量使用表达式输出(<%=%>),要用(<%=%>)完全代替(<%Out.print();%>)

JSP安全性及Config对象的应用

  • JSP安全性
    • 在J2EE中安全性的体现:工作目录的WEB-INF文件夹
      • 将页面放置到WEB-INF文件夹中下则页面无法被发现,提高了安全性,欲访问WEB-INF文件夹下的文件可以通过修改WEB.XML文件
      • web.xml文件:属于整个WEB站点的配置文件
      • 在web.xml文件中添加下列代码:
                <servlet>
                //在web.xml文件内部起作用与servlet-mapping关联
                <servlet-name>test</servlet-name>
                //找到jsp文件的路径,此路径一般保存在WEB-INF之中
                <jsp-file>/WEB-INF/demo.jsp</jsp-file>
        </servlet>
        <servlet-mapping>
                //在web.xml文件内部起作用与servlet-name完全一致
                <servlet-name>test</servlet-name>
                //网页上输入的实际路径地址
                <url-pattern>/demo</url-pattern>
        </servlet-mapping>
      • 当此文件被修改之后必须重新启动服务器–因为服务器在启动时会读取此文件
  • Config对象:属于javax.servlet.ServletConfig
    • 要使用config对象的前提:JSP页面必须在web.xml中进行配置
    • 在<servlet>与</servlet>中添加下列代码:<init-param>
      <param-name>参数名</param-name>
      <param-value>参数值</param-value>
      </init-param>
    • <init-param></init-param> 可添加多个
    • 如果要取得这些初始化参数,必须通过映射名称进行访问jsp页面,才可以取得初始化参数,通过config对象来取得
      • 取得初始化参数的方法:public String getInitParameter(String name),通过这中功能可以将数据库连接的一些信息写在配置文件之中
      • 常用的方法还有:public Enumeration getInitParameterNames()取得全部配置参数

alex Java , , , , ,

(七)JSP基本语法–session对象

2008年2月2日

session对象

  • session对象主要用于保存用户的各种信息,知道它的生命周期(一般是900S)超时或者被人为释放为止
  • 可以通过session对象来判断此用户是否是合法用户
  • 在服务器上通过session来区分每一个上网用户
  • session对象属于javax.servlet.http.HttpSession接口的实例化对象
    • session属于HTTP协议范畴之内的对象,所以只有唯一的一个http包下有此接口,没有任何继承关系
    • 用户只要一连接服务器则立刻分配一个session给用户

session的主要方法

  1. 服务器上通过session来分别不同的用户–>sessionID:任何连接到服务器上的用户,服务器都会为之分配唯一一个不会重复的sessionID
    • sessionID是由服务器同意管理的,人为不能控制
    • 方法:session.getId()
    • sessionID的长度为32位
  2. 判断是不是新的session
    • Public boolean isNew(),判断当前的session是否是新建立的session
  3. session的属性设置
    • 设置属性setAttribute()
    • 取得属性getAttribute()
    • 删除属性removeAttribute()
    • 通过session能够对用户是否登陆做出验证
  4. 用户注销:让用户的session失效
    • 若用户的session失效,则在session所保留的全部操作也会消失
    • 方法:Public Void invalidate()使session失效(需手工操作)
    • 若session长时间不被使用,也会自动失效
  5. 得到session的创建时间
    • 方法:Public long getCreationTime(),此方法返回一个long类型,通过Date类可以取得一个完整的时间
  6. 取得用户最后一次操作的时间
    • 方法:Public long getLastAccessedTime()
    • 用户在线时间=session最后一次操作时间-session创建时间

session与Cookie区别:

  • session将信息保存在服务器上而Cookie保存在客户端上
  • session比Cookie更安全,session比Cookie更占资源
  • 开发原则:
    • sessiom要尽量少使用–尽量少向session中保存信息
    • session使用Cookie机制,若Cookie被禁用,则session也无法使用

alex Java , , ,