jsp界面如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styleA.css" id="sc1"/>
<link rel="stylesheet" type="text/css" href="css/index1.css" id="sc2"/>
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/jquery.json-2.4.js"></script>
<title>Insert title here</title>
<style>
body{background:#D0D0D0;}
</style>
<title>Insert title here</title>
<% //同样实现取消客户端缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
String name="loginCode";
%>
<script>
$(function(){
$("#button").click(function(){
var dldata="";
dldata={"username":$("#username").val(),"password":$("#password").val(),"role":$("#role").val(),"code":$("#code").val()};
var data=JSON.stringify(dldata);
alert(data);
$.ajax({
type:"POST",
contentType:"application/json",
url:"LoginServlet",
data:data,
dataType:"json",
success:function(data){
// $('#new_book').clearForm(); //清空表单
if(data.Status=="1"){
alert("登录成功!");
window.location.href="StudentRegister.jsp";
}
},
error:function(e){
alert("登录失败");
}
});
});
});
/* --------登录注册结束-------- */
</script>
<script type="text/javascript">
/*-------------登陆验证是否有空值---------*/
function myCheck()
{
for(var i=0;i<document.denglu.elements.length-1;i++)
{
if(document.denglu.elements[i].value=="")
{
alert("当前目录不能有空项");
document.form1.elements[i].focus();
return false;
}
}
return true;
}
/*-------------登陆验证是否有空值结束---------*/
</script>
<script type="text/javascript">
function loadimage(){
document.getElementById("randImage").src = "image.jsp?"+Math.random();
}
</script>
</head>
<body>
<div class="login-container" style="margin-top:150px;" align="center">
<h1 style="color:#F0F0F0;">欢迎登录</h1>
<div style="margin-top:40px;">
<form action="#" method="post" id="loginForm">
<div>
学号<input type="text" id="username" name="username" class="text" />
</div>
<div style="margin-top:20px;">
密码<input type="password" id="password" name="password" class="password" />
</div>
<div style="margin-top:10px;">
验证码<input type="text" id="code" size="4">
<img οnclick="javascript:loadimage();" name="randImage" id="randImage" src="image.jsp"/>
</div>
</form>
<div style="margin-top:20px;">
身份;<select id="role">
<option value="student" >学生</option>
<option value="teacher" >教师</option>
<option value="manger" >管理员</option>
</select>
</div>
</div>
<div style="margin-top:20px;">
<input type="button" id ="button"value="登录" style="width:50px;height:28px;" class="button" οnclick="validate();" />
</div>
<div style="margin-top:20px;">
<a href="#" class="hvr-sweep-to-right">忘记密码?</a><br>
<a href="StudentRegister.jsp" class="hvr-sweep-to-right">点此进行学生注册</a><br>
<a href="TeacherRegister.jsp" class="hvr-sweep-to-right">点此进行教师注册</a>
</div>
</div>
</body>
</html>
servlet如下:
package b505.zlc.homework.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.mail.Session;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import net.sf.json.JSONObject;
import b505.zlc.homework.bean.Manger;
import b505.zlc.homework.bean.Students;
import b505.zlc.homework.bean.Teachers;
import b505.zlc.homework.daoimpl.MangerDaoImpl;
import b505.zlc.homework.daoimpl.StudentsDaoImpl;
import b505.zlc.homework.daoimpl.TeacherDaoImpl;
import b505.zlc.homework.tools.ReadJSON;
public class LoginServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 控制用户的登录
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("执行了吗");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("UTF-8");
@SuppressWarnings("unused")
PrintWriter out=response.getWriter();
//bl用于boolean方法的
boolean bl=false;
StudentsDaoImpl sdi=new StudentsDaoImpl();
TeacherDaoImpl tdi=new TeacherDaoImpl();
MangerDaoImpl mdi=new MangerDaoImpl();
Students st=new Students();
Teachers tr=new Teachers();
Manger mr=new Manger();
ReadJSON rj=new ReadJSON();
String dataString=rj.readJSONString(request);
System.out.println("dataString---->"+dataString);
JSONObject jsonObject=new JSONObject();
JSONObject json=JSONObject.fromObject(dataString);
//System.out.println("dataString---->"+dataString);
String role=json.getString("role");
System.out.println("role--->"+role);
String u=json.getString("username");
String p=json.getString("password");
String code=json.getString("code");
String codeString=(String)request.getSession().getAttribute("sRand");
System.out.println(code);
System.out.println(codeString);
if(role.equals("student")){
bl=sdi.check(u, p);
if(bl){
st.student(u, p);
request.getSession().setAttribute("studentinformation",st );
System.out.println("用户合法,可以登录");
jsonObject.put("Status", "1");
out.print(jsonObject.toString());
//System.out.println(jsonObject.toString());
//request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
jsonObject.put("Status", "0");
out.print(jsonObject.toString());
//request.getRequestDispatcher("Login.jsp").forward(request, response);
}
}
if(role.equals("teacher")){
bl=sdi.check(u, p);
if(bl){
tr.teacher(u, p);
request.getSession().setAttribute("teahcerInfor", tr);
request.getRequestDispatcher("").forward(request, response);
}else{
request.getRequestDispatcher("Login.jsp").forward(request, response);
}
}
if(role.equals("manger")){
if(mdi.check(u, p)){
request.getRequestDispatcher("").forward(request, response);
}else{
request.getRequestDispatcher("Login.jsp").forward(request, response);
}
}
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
第一次接触ajax(我还是个新手)以为在servlet中用request就能打开实现页面的跳转,自己研究了半天都没成功,后得高人相助,原来就是用request请求,会与前天产生冲突,所以没有成功。自己水平低,第一次写博客,如有不妥,还望赐教!