JSP(Java Server Pages)是指在HTML代码中嵌入Java脚本代码,由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码,然后将生成的整个页面信息返回给客户端。如图所示:
JSP的页面组成元素包括:
静态内容:HTML静态文本;
指 令: 以“<%@”开始以“%>
”结束,比如:<%@include file="Filename" %>;
表达式:<%=Java表达式 %>;
小脚本: <% Java 代码 %>;
声 明 :<%! 方法 %>;
注释 :<!-- 这是注释,但客户端可以查看到 -->
<%-- 这也是注释,但客户端不能查看到 --%>
JSP的九大内置对象为:request,response,session,applicaton,out,pagecontext,page,config,exception。
Servlet 是一个Java程序,是在服务器上运行以处理客户端请求并做出响应的程序。如下图所示:
Servlet技术的特点为:功能强大,可移植性,性能高效,可扩展性。
Servlet的生命周期是由Servlet的容器来控制的,分为3个阶段:初始化阶段,服务阶段,销毁阶段。
生命周期的各个阶段为:
实例化 :Servlet 容器创建 Servlet 的实例;
初始化:该容器调用 init() 方法;
请求处理:如果请求 Servlet,则容器调用 service() 方法
服务终止:销毁实例之前调用 destroy()方法
JDBC(Java Database
Connectivity)即数据库连接,它提供了用于执行SQL语句标准的Java API,可以方便实现多种关系数据库的统一操作;JDBC由一组用Java语言编写的类与接口组成 ,使用JDBC实现对多种关系数据库的统一操作,需要使用JDBC驱动。
相应的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