測(cè)試與數(shù)據(jù)庫(kù)連接
1.SqlServer 服務(wù)器配置
數(shù)據(jù)庫(kù)服務(wù)器--安全性--登錄名--sa 右鍵屬性 查看登錄屬性是否啟用
打開(kāi)SqlServer 配置管理器 服務(wù)器的協(xié)議 TCP/IP是否已啟用 以及 端口號(hào)
2、配置applicationContext.xml
配置數(shù)據(jù)源(數(shù)據(jù)庫(kù)服務(wù)器的名稱(chēng),地址哥纫,用戶(hù)阔馋,密碼)
配置sql腳本的xml文件指向
配置數(shù)據(jù)倉(cāng)庫(kù) 指向sql腳本的xml文件
配置action指向數(shù)據(jù)倉(cāng)庫(kù)
<!-- 數(shù)據(jù)源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:sqlserver://localhost:1260;databasename=njdx;user=sa;password=123456;
</value>
</property>
</bean>
<!-- 數(shù)據(jù)寫(xiě)入sessiobFactory-->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>
classpath:SqlMapConfig.xml
</value>
</property>
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<!-- 指向數(shù)據(jù)倉(cāng)庫(kù)-->
<bean id="baseDAO" class="dao.impl.BaseDaoImpl">
<property name="sqlMapClient">
<ref local="sqlMapClient" />
</property>
</bean>
<bean id="loginAction" class="cn.loginAction">
<property name="bs">
<ref bean="baseDAO"/>
</property>
</bean>
3屁置、在src下 建 BaseDao接口 以及BaseDaoImpl 接口實(shí)現(xiàn)類(lèi)
4蕾盯、建 Model.UserInfo文件用于封裝 數(shù)據(jù)
一定要有g(shù)et和set方法
public String userid;
public String loginname;
public String username;
public String password;
5竹揍、建立 ibatis\login.xml 文件
在sqlMap里寫(xiě)入select語(yǔ)句 (表名和列名要與數(shù)據(jù)庫(kù)中的表一致材失,且與頁(yè)面?zhèn)魉瓦^(guò)來(lái)的name一致與java文件中的變量一致)
<sqlMap>
<!-- parameterClass 參數(shù)類(lèi)型 返回結(jié)果 resultClass 是 一個(gè)實(shí)體類(lèi) -->
<select id="sltlogin" parameterClass="java.util.Map"
resultClass="Model.UserInfo">
SELECT username,password,userid
FROM userinfo where username = #username# and password =#password#
</select>
</sqlMap>
6痕鳍、在loginAction.java文件中寫(xiě)入內(nèi)容:
dao.BaseDao bs;
public String login() {
try
{
System.out.print("username:" + username);
Map<String, String> map = new HashMap<String, String>();
map.put("username", username);
map.put("password", password);
List<UserInfo> user_list = bs.queryForList("sltlogin", map);
if (user_list != null && user_list.size() > 0) {
setSuccessPath("success.jsp");
return "success";
} else {
setHidvalue("1");
setSuccessPath("index.jsp");
return "error";
}
}catch(Exception e)
{
System.out.print("異常" + e.toString());
return "success";
}
}
7、頁(yè)面中加入一個(gè)隱藏的input元素
<input id="Hidvalue" type="hidden" value="${Hidvalue}"/>
在外鏈的js文件中寫(xiě)入:
$(document).ready(function() {
var Hidvalue = $("#Hidvalue").val();
if (Hidvalue == "1") {
alert("用戶(hù)名或密碼錯(cuò)豺憔,請(qǐng)重新輸入");
window.location.href="index.jsp";
}
$("#btn").click(function(){
window.location.href="register.jsp"}
)
})
8额获、重啟服務(wù)器,在頁(yè)面中分別輸入已存在的用戶(hù)名密碼恭应,和不存在的用戶(hù)密碼測(cè)試是否能夠讀取數(shù)據(jù)庫(kù)文件