[原创]Weblogic之JSP、Servlet、JDBC的_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1929 | 回复: 0   主题: [原创]Weblogic之JSP、Servlet、JDBC的        下一篇 
ruiyu.yu
注册用户
等级:少尉
经验:331
发帖:15
精华:0
注册:1970-1-1
状态:离线
发送短消息息给ruiyu.yu 加好友    发送短消息息给ruiyu.yu 发消息
发表于: IP:您无权察看 2016-10-24 17:26:02 | [全部帖] [楼主帖] 楼主


   一、JSP、Servlet、JDBC的简单理解


    JSP:

    

    JSP与PHP、ASP、ASP.NET等语言类似,运行在服务端的语言。

    JSP(Java Server Pages),中文名叫java服务器页面,其根本是一个简化的Servlet设计。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(Java Server Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。 

    JSP文件后缀名为(*.jsp)。

    JSP开发的WEB应用可以跨平台使用,既可以运行在Linux上也能运行在Window上。


    Servlet:


    Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。


    Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。



    JDBC


    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,

    JDBC设有2中接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。



    二、生命周期


    JSP:   

        JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。

        以下是JSP生命周期中所走过的几个阶段:

    • 编译阶段:

      servlet容器编译servlet源文件,生成servlet类

    •  初始化阶段:

      加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法

    •  执行阶段:

      调用与JSP对应的servlet实例的服务方法

    •  销毁阶段:

      调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例


    Servlet   

              Servlet的生命周期一般分四步:加载-->实例化(init())-->服务(service())-->销毁(destroy())

        加载:加载一般是在运行容器(Weblogic、tomcat)时来完成,将servlet类加载到Weblogic中,或者是客户端发来请求时也可以

        实例化:实例化一般是即读取配置信息、读取初始化参数等,这些基本上在整个生命周期中只需要执行一次。

        服务:服务一般是当容器接收到客户端请求时,Servlet引擎将创建一个ServletRequest请求对象和一个ServletResponse响应对象,然后把这两个对象作为参数传递给对应Servlet对象的service方法。

        销毁: 销毁一般是Servlet的卸载是由容器本身定义和实现,在卸载Servlet之前需要调用destroy()方法,以让Servlet自行释放占用的系统资源。


      JDBC

        对于JDBC来说,生命周期就是一个连接数据库的过程,主要包含以下几个步骤

       (1)加载JDBC驱动程序:Class.forName("com.mysql.jdbc.Driver");//这是连接mysql数据库的驱动;成功加载后,会将Driver类的实例注册到DriverManager类中。

       (2)提供JDBC连接的URL:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk

          useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

       (3)创建数据库的连接:使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的与连接的数据库的路径、数据库的用户名和密码来获得.

        如:String url = "jdbc:mysql://localhost:3306/test" ;         

            String username = "root" ; String password = "root" ;  

       (4)创建一个Statement: Statement stmt = con.createStatement() ;  

            PreparedStatement pstmt = con.prepareStatement(sql) ;  

       (5)执行SQL语句:Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute。

            1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象.                   2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等 

            3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句.

       (6)处理结果:1、执行更新返回的是本次操作影响到的记录数. 2、执行查询返回的结果是一个ResultSet对象.

       (7)关闭JDBC对象:操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:1、关闭记录集 2、关闭声明 3、关闭连接对象


    三、深入理解

        JSP

        一个JSP页面可以被分为以下几部分:

        (1)普通的HTML标记符;

        (2)JSP标记,如指令标记、动作标记;

        (3)成员变量和方法;

        (4)Java程序片;

        (5)Java表达式. 

        一个完整的JSP页面如下所示:       

                <%@pagecontentType="text/html;charset=UTF-8"%><!--JSP指令标记-->

                <%@pageimport="java.util.Date"%><!--JSP指令标记-->

                <%!Date date;//数据声明

                int sum;

                public int add(intm,intn){//方法声明

                return m+n;

                }

                %>

                <HTML><BODY bgcolor=blue><!--HTML标记-->

                <FONT size=4><P>程序片创建Date对象:

                <%date=new Date();//Java程序片

                out.println("<BR>"+date);

                sum=add(12,34);

                %>

                <BR>在下一行输出和:<BR>

                <%=sum+100%><!--Java表达式-->

                </FONT></BODY></HTML>


        Servlet

        这是一个简单的Servlet页面 http://bbs.landingbj.com/t-0-347701-1.html

                  这个过程就是:1) 客户端发送请求至服务器端;2) 服务器将请求信息发送至 Servlet;3) Servlet 生成响应内容并将其传给服务器.响应内容动态生成,通常取决于客户端的请求;4) 服务器将响应返回给客户端.


        其中JSP和Servlet的区别可以参考这个:http://bbs.landingbj.com/t-0-347571-1.html

                    

                  




    















赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论