关于jsp开发基础数据是在哪里设置? jsp开发基本数据设置应该放在哪里?例如:数据库的连接(用户名、密码等),我的目的就是想以后移置的时候只要改改配置就行,不用重新编译。好像可以放在tomcat的配置文件里,但不知怎样取那里的数据,或是有没有其它方法,我想知道大家是怎么做的?万分感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库的话可以在tomcat配置数据源,具体可以看tomcat的帮助,里面有详细的例子。配完之后在web.xml里添加 <resource-ref> <description>DB Connection</description> <res-ref-name>配置的数据源名</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>具体可以参考下面这篇文章http://fanyingjie.bokee.com/5797206.html to:siliconchip(初学编程)可不可以不用数据源,我想直接设置数据库、用户、密码。 to:galant2008(無賴)怎样设置,可不可以给出简单的例子,谢谢! 你可以这样来实现,做一个配置文件,然后连接数据库的时候去取这个配置文件的参数就可以了给你个例子修改成你需要的样式吧,注意,读取培植文件的类,无法用public static void main()调试,只能在服务器运行的时候调试培植文件放到class目录,link.ini,内容如下jdbc.dbDriver=com.microsoft.jdbc.sqlserver.SQLServerDriverjdbc.dbUrl=jdbc:microsoft:sqlserver://localhost:1433jdbc.DatabaseName=stockjdbc.dbUser=sajdbc.dbPassword=读取培植文件的类ackage db;import java.io.BufferedReader;import java.io.FileReader;import java.util.StringTokenizer;import bean.linkbean;public class getfilemessage { public getfilemessage() { } //取当前工程类的所在路径 public String getpath(){ String str=this.getClass().getClassLoader().getResource("/").getPath(); str=str.substring(1,str.length());//因为上面取回来的路径的第一个字符是"/",所以把第一个字符去掉 str=StrPlace(str,"%20"," ");//如果得到的路径中有空格,则将JSP路径中的20%转换成" " return str; } //取配置文件中的ODBC连接基本信息 public linkbean readfile(){ FileReader infile; BufferedReader in; String s=null; linkbean rs=new linkbean(); boolean iflink=false; String path=getpath(); try{ infile=new FileReader(path+"/link.ini"); in=new BufferedReader(infile); iflink=true; while ((s=in.readLine())!=null) { String Ftr=s; StringTokenizer gall=new StringTokenizer(Ftr,"="); String gtstr=gall.nextToken();//取"="前面的所有值 if (gtstr.equals("jdbc.dbDriver")) { rs.setDbDriver(gall.nextToken()); } if (gtstr.equals("jdbc.dbUrl")) { rs.setDbUrl(gall.nextToken()); } if (gtstr.equals("jdbc.DatabaseName")) { rs.setDatabaseName(gall.nextToken()); } if (gtstr.equals("jdbc.dbUser")) { rs.setDbUser(gall.nextToken()); } if (gtstr.equals("jdbc.dbPassword")) { rs.setDbPassword(gall.nextToken()); } } }catch(Exception e){ } if (iflink==false) { System.out.println("配置文件连接失败"); } return rs; } /* * 转换字符串:将str字符串中含有str1的字符串,转换成str2 * 提供参数str,str1,str2 * 返回String */ private synchronized String StrPlace(String str, String str1, String str2) { String ret_str = ""; int loc=0, len=str1.length(); for (int i=0; i<str.length(); i++) { int j=str.indexOf(str1, loc); if (j>=0) { ret_str += str.substring(loc, j)+str2; loc=j+len; i=j; } } if (loc < str.length()) { ret_str += str.substring(loc, str.length()); } return ret_str; }}数据库连接类package db;import java.sql.*;import bean.linkbean;public class dbconnect{ Connection con; public dbconnect(){ String dbDriver=null; String dbUrl=null; String DatabaseName=null; String dbUser=null; String dbPassword=null; try{ getfilemessage gf=new getfilemessage(); linkbean lb=gf.readfile(); dbDriver=lb.getDbDriver(); dbUrl=lb.getDbUrl(); DatabaseName=lb.getDatabaseName(); dbUser=lb.getDbUser(); dbPassword=lb.getDbPassword(); }catch(Exception e){ } if (dbPassword==null) { dbPassword=""; } boolean f=false; try{ String SERVANDDB=dbUrl+";DatabaseName="+DatabaseName; Class.forName(dbDriver); con = DriverManager.getConnection(SERVANDDB,dbUser,dbPassword); f=true; }catch(Exception e){ System.out.println("dbconnect.dbconnect():"+e); } if (f==false) { System.out.println("数据库连接失败"); } } public Connection link(){ return con; }} 你可以做一个db.property的属性文件里面设置:drivers = oracle.jdbc.driver.OracleDriverurl=jdbc:oracle:thin:@192.168.1.211:1521:spserveruser = yxtsppassword = oraclemaxconn = 2minconn = 1defconn = 1然后你取得数据库连接的class里面读取配置文件里面的配置信息就OK了.FileInputStream is=new FileInputStream("db.properties");Properties dbProps = new Properties();dbProps.load(is);String driverClasses = dbProps.getProperty("drivers"); to:Sunny319(努力学习java中.) 不好意思,我想问一下,property属性文件应该放在哪里?我刚学习jsp web程序的话可以把db.property放在web-inf下面,或者放在src目录下,这2个路径都在classpath里,应该都能取到的 to:Sunny319(努力学习java中.) import java.io.*;import java.util.*;FileInputStream is=new FileInputStream("db.properties"); //这里出错了Properties dbProps = new Properties();dbProps.load(is); //这里出错了String driverClasses = dbProps.getProperty("drivers"); 请教一个关于SQL语句的问题 tomcat控制台怎么显示sysout内容 用自己的话 说说 轻量级和重量级 BigDecimal与int类型互相转换? 如何用触发器写链接删除,并且通过ibatis调用 HttpSessionListener 统计在线人数问题 java编译问题大家帮忙 哪里有比较多的eclipse插件?? 我不想用ResultSet接收数据查询结果,还有什么方法 求助Java子域名Cookie删除问题 如何判断 ResultSet 是否获取植 JSP 怎样用JNI操作IE客户机中的动态库?
配完之后在web.xml里添加
<resource-ref>
<description>DB Connection</description>
<res-ref-name>配置的数据源名</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>具体可以参考下面这篇文章
http://fanyingjie.bokee.com/5797206.html
可不可以不用数据源,我想直接设置数据库、用户、密码。
怎样设置,可不可以给出简单的例子,谢谢!
jdbc.dbDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc.dbUrl=jdbc:microsoft:sqlserver://localhost:1433
jdbc.DatabaseName=stock
jdbc.dbUser=sa
jdbc.dbPassword=读取培植文件的类
ackage db;import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;import bean.linkbean;public class getfilemessage { public getfilemessage() {
}
//取当前工程类的所在路径
public String getpath(){
String str=this.getClass().getClassLoader().getResource("/").getPath();
str=str.substring(1,str.length());//因为上面取回来的路径的第一个字符是"/",所以把第一个字符去掉
str=StrPlace(str,"%20"," ");//如果得到的路径中有空格,则将JSP路径中的20%转换成" "
return str;
}
//取配置文件中的ODBC连接基本信息
public linkbean readfile(){
FileReader infile;
BufferedReader in;
String s=null;
linkbean rs=new linkbean();
boolean iflink=false;
String path=getpath();
try{
infile=new FileReader(path+"/link.ini");
in=new BufferedReader(infile);
iflink=true;
while ((s=in.readLine())!=null)
{
String Ftr=s;
StringTokenizer gall=new StringTokenizer(Ftr,"=");
String gtstr=gall.nextToken();//取"="前面的所有值
if (gtstr.equals("jdbc.dbDriver"))
{
rs.setDbDriver(gall.nextToken());
}
if (gtstr.equals("jdbc.dbUrl"))
{
rs.setDbUrl(gall.nextToken());
}
if (gtstr.equals("jdbc.DatabaseName"))
{
rs.setDatabaseName(gall.nextToken());
}
if (gtstr.equals("jdbc.dbUser"))
{
rs.setDbUser(gall.nextToken());
}
if (gtstr.equals("jdbc.dbPassword"))
{
rs.setDbPassword(gall.nextToken());
}
}
}catch(Exception e){
}
if (iflink==false)
{
System.out.println("配置文件连接失败");
}
return rs;
}
/*
* 转换字符串:将str字符串中含有str1的字符串,转换成str2
* 提供参数str,str1,str2
* 返回String
*/
private synchronized String StrPlace(String str, String str1, String str2) {
String ret_str = "";
int loc=0, len=str1.length();
for (int i=0; i<str.length(); i++)
{
int j=str.indexOf(str1, loc);
if (j>=0)
{
ret_str += str.substring(loc, j)+str2;
loc=j+len;
i=j;
}
}
if (loc < str.length())
{
ret_str += str.substring(loc, str.length());
} return ret_str;
}}
数据库连接类
package db;import java.sql.*;import bean.linkbean;
public class dbconnect{
Connection con;
public dbconnect(){
String dbDriver=null;
String dbUrl=null;
String DatabaseName=null;
String dbUser=null;
String dbPassword=null;
try{
getfilemessage gf=new getfilemessage();
linkbean lb=gf.readfile();
dbDriver=lb.getDbDriver();
dbUrl=lb.getDbUrl();
DatabaseName=lb.getDatabaseName();
dbUser=lb.getDbUser();
dbPassword=lb.getDbPassword();
}catch(Exception e){
}
if (dbPassword==null)
{
dbPassword="";
}
boolean f=false;
try{
String SERVANDDB=dbUrl+";DatabaseName="+DatabaseName;
Class.forName(dbDriver);
con = DriverManager.getConnection(SERVANDDB,dbUser,dbPassword);
f=true;
}catch(Exception e){
System.out.println("dbconnect.dbconnect():"+e);
}
if (f==false)
{
System.out.println("数据库连接失败");
}
}
public Connection link(){
return con;
}
}
里面设置:
drivers = oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@192.168.1.211:1521:spserver
user = yxtsp
password = oracle
maxconn = 2
minconn = 1
defconn = 1然后你取得数据库连接的class里面读取配置文件里面的配置信息就OK了.
FileInputStream is=new FileInputStream("db.properties");
Properties dbProps = new Properties();
dbProps.load(is);
String driverClasses = dbProps.getProperty("drivers");
不好意思,我想问一下,property属性文件应该放在哪里?我刚学习jsp
import java.util.*;FileInputStream is=new FileInputStream("db.properties"); //这里出错了
Properties dbProps = new Properties();
dbProps.load(is); //这里出错了
String driverClasses = dbProps.getProperty("drivers");