刚进了一家j2ee的公司
老员工就有离职的,恰好要我接这个项目,一个烂摊子,要是说倒霉,也是可以说。要是说机遇也可以说。
就看我自己的造化了
第一件事情是把以前的工程和数据库链接上
我先把工程导进eclipse中,然后安装mssql2000
然后把数据库进行还原。
然后把项目发布到tomcat,然后http://localhost:8080/我的项目,结果当登录时出现错误。
然后回过头来看数据库的链接代码,结果不是我以前用的jdbc,而是用的我没有用过的jndi
在spring中的配置文件中相关的代码如下:
<
bean id
=
"
dataSource
"
class
=
"
org.springframework.jndi.JndiObjectFactoryBean
"
>
<
property name
=
"
jndiName
"
>
<
value
>
java:comp
/
env
/
jdbc
/
superweb
</
value
>
</
property
>
</
bean
>
<
bean id
=
"
sessionFactory
"
class
=
"
org.springframework.orm.hibernate3.LocalSessionFactoryBean
"
>
<
property name
=
"
dataSource
"
>
<
ref bean
=
"
dataSource
"
></
ref
>
</
property
>
<
property name
=
"
configLocation
"
>
<
value
>
classpath:comsuperwebhibernate3hibernate.cfg.xml
</
value
>
</
property
>
</
bean
>
其中classpath:com/superweb/hibernate3/hibernate.cfg.xml这个是你自己的hibernate.cfg.xml的路径的全称。
我用jdbc连接我自己安装的sqlserver,结果不行
后经过差错出现了两个原因,
1.三个驱动的包我忘记添加了
2.我的数据库安装问题,至今没有搞明白,我安装的时候是选择是开发版,不知道和这个有没有关系。反正就是不行
现在用的另外一台电脑的数据库,还好没有什么问题
然后就是在tomcat的根目录下的conf文件夹下的server.xml中配置jndi
在</host>之前添加如下代码
<
Context path
=
"
/SchoolDemo
"
docBase
=
"
D:/Program Files/eclipse/space/SchoolDemo2/WebRoot
"
debug
=
"
0
"
reloadable
=
"
true
"
>
<
Resource name
=
"
jdbc/superweb
"
auth
=
"
Container
"
type
=
"
javax.sql.DataSource
"
driverClassName
=
"
com.microsoft.jdbc.sqlserver.SQLServerDriver
"
url
=
"
jdbc:microsoft:sqlserver://192.168.0.118:1433;databaseName=schoolDemo
"
username
=
"
sa
"
password
=
""
maxActive
=
"
100
"
maxIdle
=
"
30
"
maxWait
=
"
10000
"
/>
</
Context
>
</
Host
>
这个东西很有讲究,别看没有几行,我就来来回回错了还几次
path可以随便填这个是用于在http://localhost:8080/ 后的访问项目的名称,docBase这个是你的eclipse的项目路径,而不是tomcat的路径,Resource name="jdbc/superweb这个也比较重要,我已开始写的是java:comp/env/jdbc/superweb,结果就错了
注,后面的“superweb”可以随便启名,只要使得spring中的applicationcontext.xml中的和此处相同就行。
剩下的就是和jdbc一样了,ip,端口号,数据库名字,用户名,密码,做到准确无误就行。
这样以后,我还是出现错误,我百思不得其解。
结果一看错误的异常是因为tomcat中没没有把驱动考到lib中,
项目中用驱动包是不够的,这点很重要。
好今天就写到这里。