jsp(小脚本)特殊的servlet 特点:在html里嵌套java代码
执行过程是:把jsp编译成一个servlet来执行
项目里jsp是做显示功能
报错代码500 表名jsp代码有错
“”换行标签
连接池:管理连接,创建、分配、销毁连接
c3p0-config.xml放在src目录下
静态内容:html静态文本
指令:以“<%@”开始,以“%>”结束
小脚本<%Java代码%>
表达式<%=Java表达式%>
声明:<%!方法%>
注释:
<%– 客户端无法查看到–%>
package com.offcn.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class BaseDao {
//获取数据源
DataSource ds=new ComboPooledDataSource();
public int update(String sql,Object[] objects){
int num=-1;
try {
//获取连接对象
Connection conn = ds.getConnection();
PreparedStatement ps= conn.prepareStatement(sql);
if(objects!=null&&objects.length>0){
for(int i=0;i<objects.length;i++){
ps.setObject((i+1), objects[i]);
}
}
num = ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return num;
}
public ResultSet query(String sql,Object[] objects){
ResultSet rs=null;
try {
Connection conn = ds.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
if(objects!=null&&objects.length>0){
for(int i=0;i<objects.length;i++){
ps.setObject((i+1), objects[i]);
}
}
rs = ps.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
}