81,092
社区成员
发帖
与我相关
我的任务
分享
<servlet>
<servlet-name>javascript</servlet-name>
<servlet-class>Ctrl.JavaScript</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>javascript</servlet-name>
<url-pattern>/js</url-pattern>
</servlet-mapping>
var req;
var url = "/js?aid=" + aid;
alert(url);
//创建一个XMLHttpRequest对象req
if(window.XMLHttpRequest) {
//IE7, Firefox, Opera支持
req = new XMLHttpRequest();
alert("支持");
}else if(window.ActiveXObject) {
//IE5,IE6支持
req = new ActiveXObject("Microsoft.XMLHTTP");
alert("不支持");
}
//var url = "<%=request.getContextPath()%>/js?aid=" + aid;
//req.open("get", "<%=request.getContextPath()%>/src/Ctrl/JavaScript.java", true); //发送请求
//req.open("get","JavaScript.java", true); //发送请求
alert(url);
//onreadystatechange属性存有处理服务器响应的函数,有5个取值分别代表不同状态
req.onreadystatechange = callback;
//send函数发送请求
req.send(null);
}
function callback() {
alert("成功进入callback,状态为" + req.readyState );
if(req.readyState == 4 && req.status == 200) {
alert("status为" + req.status );
var check = req.responseText;//得到js处理过后的值
alert(" req.responseText="+check);//验证是否是成功调用了servlet
show (check);
} alert("status为" + req.status );
}
function show(str) {
if(str == "OK") {
var show = "<font color='green'>恭喜!!用户名可用!</font>";
System.out.println("***********当前show的值是:" + show + "**********");
alert("用户名可用");
}
else if( str == "NO") {
var show = "<font color='red'>对不起,用户名不可用!!请重新输入!</font>";
System.out.println("***********当前show的值是:" + show + "**********");
alert("用户名已存在");
}
}
package Ctrl;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import DB.DBBean;
import Entities.Applicant;
/**
* Servlet implementation class JavaScript
*/
@WebServlet("/JavaScript")
public class JavaScript extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public JavaScript() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("*********protected void doGet************");
checkAid(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
checkAid(request, response);
System.out.println("*********protected void doPost************");
}
private void checkAid(HttpServletRequest request,
HttpServletResponse response) throws IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
DBBean db = new DBBean();
String aid = request.getParameter("aid");
System.out.println("***********当前aid的值是:" + aid + "**********");
String count = null;
try {
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0); //通过以下几行代码设置浏览器不进行Ajax处理页面的缓存
db.init();
String sql = "SELECT count(aid) FROM applicant where aid=?";
System.out.println(sql);
System.out.println("**********调用javascript的方法checkAid*********");
ResultSet rs = db.executeQuery(sql, aid);//执行sql语句,where子句中aid=ap.getAid()
while (rs.next()) {
count = rs.getString(1);
}
if(count.equals("0")) {
out.write("OK");
}
else {
out.write("NO");
}
} catch (Exception e) {
e.printStackTrace();// 提示出错信息
} finally {
db.close();
}
}
}