JavaEE程序设计与应⽤开发部分习题答案(2)
这本书⼤概看过了,把⾥⾯题⽬⼤概做了⼀遍,可能⾃⼰⽐较功利,没有细细地把每个习题做到完美,但基本的功能都能实现。
题⽬:在数据库中建⽴表格t_customer(account,password,cname),插⼊⼀些记录,编写注册页⾯,输⼊账号、密码、确认密码、姓名,完成注册的功能,并能够判断是否重复注册。提交后页⾯不刷新。
第⼀个页⾯sign,⽤来提交。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
function login(){
var account=document.loginForm.account.value;
var password=document.loginForm.password.value;
var pw=document.loginForm.pw.value;
var name=document.loginForm.name.value;
if(password!=pw){
//load();
/
/(0);
//place(location)
alert("对不起,您2次输⼊的密码不⼀致");
}
else{
var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
var url="localhost:8080/JspLearning/LoginServlet?account="+account+"&password="+password+"&name="+name;
xmlHttp.open("post",url,true);
adyState==4){
resultDiv.sponseText;
}
else{
resultDiv.innerHTML+="正在验证,请稍候。。。";
}
}
xmlHttp.send();
}
}
</script>
注册页⾯<br>
<form name="loginForm">
输⼊账号:<input type="text" name="account"><br>
输⼊密码:<input type="password" name="password"><br>
再输⼊⼀次密码:<input type="password" name="pw"><br>
输⼊名字:<input type="text" name="name"><br>
<input type="button" value="注册" onclick="login()">
</form>
<div id="password">
</div>
<div id="resultDiv">
</div>
</body>
</html>
第⼆个页⾯,LoginServlet.java⽤于逻辑控制,就是个普通的java类,只不过按照jsp的底层逻辑来写的,所以叫servlet。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
function login(){
var account=document.loginForm.account.value;
var password=document.loginForm.password.value;
var pw=document.loginForm.pw.value;
var name=document.loginForm.name.value;
if(password!=pw){
//load();
//(0);
//place(location)
alert("对不起,您2次输⼊的密码不⼀致");
}
else{
var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
var url="localhost:8080/JspLearning/LoginServlet?account="+account+"&password="+password+"&name="+name; xmlHttp.open("post",url,true);
adyState==4){
resultDiv.sponseText;
}
else{
resultDiv.innerHTML+="正在验证,请稍候。。。";
}
}
xmlHttp.send();
}
}
</script>
注册页⾯<br>
<form name="loginForm">
输⼊账号:<input type="text" name="account"><br>
输⼊密码:<input type="password" name="password"><br>
再输⼊⼀次密码:<input type="password" name="pw"><br>
输⼊名字:<input type="text" name="name"><br>
<input type="button" value="注册" onclick="login()">
</form>
<div id="password">
</div>
<div id="resultDiv">
</div>
</body>
</html>
第三个页⾯,queryDao,也是⼀个普通的java类,不过专门⽤于数据库处理,所以叫Dao。
import java.sql.SQLException;
import java.sql.Statement;
go和java后端开发劣势
import java.util.ArrayList;
public class queryDao {
public static String query(String name,String account,String password) throws Exception{
Connection conn=null;
try {
Class.forName("sql.jdbc.Driver");
Connection("jdbc:mysql://localhost:3306/web003","root","123456");
String sql="select ACCOUNT,PASSWORD,CNAME from t_customer";
Statement ateStatement();
ResultSet uteQuery(sql);
()) {
String String("CNAME");
String String("ACCOUNT");
String String("PASSWORD");
System.out.print(name2);
System.out.print(name);
if(name2.equals(name)) {
return "0";
}
}
String sql2="INSERT INTO T_CUSTOMER(ACCOUNT,PASSWORD,CNAME) VALUES ('"+account+"','"+password+"','"+name+"')";  uteUpdate(sql2);
rs.close();
stat.close();return "1";
}catch(SQLException e) {
e.printStackTrace();
}finally {
try {
if(conn!=null) {
conn.close();
conn=null;
}
}catch(Exception ex) {
}
}
return "2";
}
}
其余两个页⾯⽤于显⽰,毫⽆技术含量。
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class queryDao {
public static String query(String name,String account,String password) throws Exception{
Connection conn=null;
try {
Class.forName("sql.jdbc.Driver");
Connection("jdbc:mysql://localhost:3306/web003","root","123456");
String sql="select ACCOUNT,PASSWORD,CNAME from t_customer";
Statement ateStatement();
ResultSet uteQuery(sql);
()) {
String String("CNAME");
String String("ACCOUNT");
String String("PASSWORD");
System.out.print(name2);
System.out.print(name);
if(name2.equals(name)) {
return "0";
}
}
String sql2="INSERT INTO T_CUSTOMER(ACCOUNT,PASSWORD,CNAME) VALUES ('"+account+"','"+password+"','"+name+"')";
rs.close();
stat.close();return "1";
}catch(SQLException e) {
e.printStackTrace();
}finally {
try {
if(conn!=null) {
conn.close();
conn=null;
}
}catch(Exception ex) {
}
}
return "2";
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
嘿,你成功了。<br>
</body>
</html>
这个题不难,就两点:1、因为mysql⾥⾯的字段类型我设的text,所以在queryDao⾥⾯的插⼊语句⾥⾯值要加’’,不然会报错。2、js的语法接触较少,我原来写的⼀个(!a==b),⼀直判断不了,改成(a!=b)就可以了,⼀定要注意javascript和java的语法差距很⼤。
下⼀本书看(

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。