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

    JSP(Java Server Pages)是指在HTML代码中嵌入Java脚本代码,由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码,然后将生成的整个页面信息返回给客户端。如图所示:

    图片1.png

    JSP的页面组成元素包括:

    静态内容:HTML静态文本;

    指 令: 以“<%@”开始以“%> ”结束,比如:<%@include file="Filename" %>;

    表达式:<%=Java表达式 %>;

    小脚本: <% Java 代码 %>;

    声 明 :<%! 方法 %>;

    注释 :<!-- 这是注释,但客户端可以查看到 -->

           <%-- 这也是注释,但客户端不能查看到 --%>

    JSP的九大内置对象为:request,response,session,applicaton,out,pagecontext,page,config,exception。


    Servlet 是一个Java程序,是在服务器上运行以处理客户端请求并做出响应的程序。如下图所示:

QQ截图20170224092756.png

    Servlet技术的特点为:功能强大,可移植性,性能高效,可扩展性。

    Servlet的生命周期是由Servlet的容器来控制的,分为3个阶段:初始化阶段,服务阶段,销毁阶段。

    QQ截图2.png

    生命周期的各个阶段为:

    实例化 :Servlet 容器创建 Servlet 的实例;

    初始化:该容器调用 init() 方法;

    请求处理:如果请求 Servlet,则容器调用 service() 方法

    服务终止:销毁实例之前调用 destroy()方法

    

    JDBC(Java Database Connectivity)即数据库连接,它提供了用于执行SQL语句标准的Java API,可以方便实现多种关系数据库的统一操作;JDBC由一组用Java语言编写的类与接口组成 ,使用JDBC实现对多种关系数据库的统一操作,需要使用JDBC驱动。

QQ截图3.png


    相应的Java代码为:

package com.pxy.model.dao;

import java.sql.*;


import javax.naming.*;

import javax.sql.DataSource;


public class DBManage {

static Connection con = null;

static PreparedStatement ps = null;

static ResultSet rs = null;

//连接MSSQL

static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

static String url = "jdbc:sqlserver://localhost;databasename=db_music";

//连接MySQL

// static String driver = "com.mysql.jdbc.Driver";

// static String url = "jdbc:mysql://127.0.0.1:3306/db_music";

//连接Oracle

// static String driver = "oracle.jdbc.driver.OracleDriver";// 连接驱动

// static String url = "jdbc:oracle:thin:@localhost:1521:ORCL";// 访问oracle路径


private static Connection getConnect(){

try {

Class.forName(driver);

con = DriverManager.getConnection(url,"sa","123"); //连接MSSQL

// con = DriverManager.getConnection(url,"root","root"); //连接mysql

// con = DriverManager.getConnection(url,"scott","tiger"); //连接mysql

}catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return con;

}

public static ResultSet getResultSet(String sql){

con = getConnect();

try {

ps = con.prepareStatement(sql);

rs = ps.executeQuery();

} catch (SQLException e) {

e.printStackTrace();

}

return rs;

}


public static ResultSet getResultSet(String sql,Object[] params){

con = getConnect();

try {

ps = con.prepareStatement(sql);

for (int i = 0; i < params.length; i++) 

ps.setObject(i+1, params[i]);

rs = ps.executeQuery();

} catch (SQLException e) {

e.printStackTrace();

}

return rs;

}


public static int modifyEntiy(String sql, Object[] params){

int num = 0;

con = getConnect();

try {

ps = con.prepareStatement(sql);

for (int i = 0; i < params.length; i++) {

ps.setObject(i+1, params[i]);

}

num = ps.executeUpdate();

closeAll();

} catch (SQLException e) {

e.printStackTrace();

}

return num;

}


public static void closeAll(){

if (ps != null){

try {

ps.close();

ps = null;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(con != null){

try {

con.close();

con = null;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}



该贴被tongfei.liao编辑于2017-2-24 9:53:00


既然选着了远方,便只顾风雨兼程!


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