login.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">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript">
$(function() {
$("#username").focus();
$("#login").click(function() {
var name=$("#username").val();
var pass=$("#password").val();
var rand=$("#rand").val();
if(name==""||pass=="")
{
$("#message").text("用户名或密码不能为空");
} else if(rand=="")
{
$("#message").text("验证码不能为空");
}
else
{
$.ajax({
//选择提交方式
type:"POST",
//默认: true,dataType为script时默认为false) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。
cache:"false",
//发送请求地址
url:"loginServlet",
//发送到服务器的数据
data:"username="+name+"&password="+pass+"&rand="+rand,
//返回纯文本字符串
dataType:"text",
//设置请求超时时间(毫秒)
timeout:20000,
//请求失败时调用的函数
error:function(){
$("#message").text("请求失败");
},
//请求成功返回回调函数
success:function(message) {
$("#message").text("message");
}
});
}
});
});
</script>
<script type="text/javascript">
function seeE() {
document.getElementById('vadimg').src='./random.jsp?t='+new Date().getTime();
}
</script>
</head>
<body>
<table>
<thead>
<tr><td colspan="2">用户登录</td></tr>
</thead>
<tbody>
<tr>
<td>登陆帐号:</td>
<td><input type="text" id="username"/></td>
</tr>
<tr>
<td>登陆密码:</td>
<td><input type="password" id="password" /></td>
</tr>
<tr>
<td>验证码:</td>
<td><input height="12" id="rand" name="rand" maxlength="" size="7" />
<img id="vadimg" class="yzm" src="./random.jsp" border="0" />
<a href="javascript:void(0);" onclick="seeE();return false;">看不清楚?</a></td>
</tr>
<tr><td colspan="2"><input type="button" id="login"/></td></tr>
<tr><td colspan="2"><div id="message" style="text-align: center;color: red;"></div></td></tr>
</tbody>
</table>
</body>
</html>
loginServlet代码
package com.Pluto.servelt;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class for Servlet: loginServlet
*
*/
@SuppressWarnings("serial")
public class loginServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public loginServlet() {
super();
}
protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
System.out.println("访问到");
@SuppressWarnings("unused")
String message="";
@SuppressWarnings("unused")
String name=request.getParameter("username");
System.out.println(name);
@SuppressWarnings("unused")
String pass=request.getParameter("password");
System.out.println(pass);
String num=request.getParameter("rand");
String rand=(String)(request.getSession().getAttribute("rand"));
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
login(request,response);
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
login(request,response);
}
}
15 个解决方案
#1
点击登录的时候 老是显示 请求失败
#2
loginServlet 里还有这个代码 判断验证码的
但是 就是访问不到servlet
但是 就是访问不到servlet
if(!rand.equals(num))
{
message="验证码错误";
} else
{
message="";
}
#3
url:"loginServlet",
以前用jquery都+action的.不是url:"loginServlet.action"吗?
以前用jquery都+action的.不是url:"loginServlet.action"吗?
#4
我去试试!
#5
还是不行。。。
#6
自己顶下。。
#7
你的jsp 页面的目录,还有你的servlet配置的路径是什么样的
#8
web.xml文件发出来看看,是不是servlet配置路径有问题???
#9
你把url随便指到个 a.jsp,再a.jsp里输出看看。能输出 就是web.xml里配错了,不然就是ajax错
#10
1,别用ajax,用个a标签或者直接用url访问那个servlet看看,
不行的话就是servlet配置有问题
2,用ajax访问个别的肯定能访问的servlet,
不行的话就是ajax的程序问题
good luck
不行的话就是servlet配置有问题
2,用ajax访问个别的肯定能访问的servlet,
不行的话就是ajax的程序问题
good luck
#11
同问!
#12
把 dataType:"text",
去掉试试
去掉试试
#13
是路径的问题。。。 搞定了 谢谢大家!
#14
url:"loginServlet",
//发送到服务器的数据
data:"username="+name+"&password="+pass+"&rand="+rand,
问题就在这!你看看你的路径!你根本没有请求到!
再一个
protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
System.out.println("访问到");
@SuppressWarnings("unused")
String message="";
@SuppressWarnings("unused")
String name=request.getParameter("username");
System.out.println(name);
@SuppressWarnings("unused")
String pass=request.getParameter("password");
System.out.println(pass);
String num=request.getParameter("rand");
String rand=(String)(request.getSession().getAttribute("rand"));
}
这个方法 你要返回数据啊,没有看出你把得到的数据怎么返回到页面了!
底下这个是我拷了点代码应该给你点启发:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Cache-Control","no-cache");
String name=request.getParameter("name");
PrintWriter out = response.getWriter();
List list = adPosBo.queryAllAdPosLocation(name);
out.print("<?xml version='1.0' encoding='utf-8'?>");
out.print("<SELECT name=\"adPosId\" id=\"adPosId\" onchange=\"changeAdType()\">");
out.print("<option >" + "请选择二级目录" + "</option>");
for (int i = 0; i < list.size(); i++) {
AdPosition position = (AdPosition) list.get(i);
if(position.getValidFlag().equals("Y")){
// out.print("<option value=" + position.getId() + " "+ad3+" == "+position.getTitle()+"\"selected=\'selected'\" >" + position.getTitle() + "</option>");
out.print("<option value=" + position.getId() + " ");
out.print(" >"+ position.getTitle() + "</option> ");
}
}
out.print("</SELECT>");
out.close();
}
这个我就是返回了一个下拉框的文本!
再给你个页面的参考:返回xml
function request(){
jQuery.ajax({
type: 'GET',
url: 'http://localhost:8080/Jdom/hehe.do?act=json',
data: "&info="+info,
cache: false,
dataType: 'xml',
error: function(){
alert('Error loading XML document');
},
success: function(xml){
自己写
}
});
}
仅供参考!
//发送到服务器的数据
data:"username="+name+"&password="+pass+"&rand="+rand,
问题就在这!你看看你的路径!你根本没有请求到!
再一个
protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
System.out.println("访问到");
@SuppressWarnings("unused")
String message="";
@SuppressWarnings("unused")
String name=request.getParameter("username");
System.out.println(name);
@SuppressWarnings("unused")
String pass=request.getParameter("password");
System.out.println(pass);
String num=request.getParameter("rand");
String rand=(String)(request.getSession().getAttribute("rand"));
}
这个方法 你要返回数据啊,没有看出你把得到的数据怎么返回到页面了!
底下这个是我拷了点代码应该给你点启发:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Cache-Control","no-cache");
String name=request.getParameter("name");
PrintWriter out = response.getWriter();
List list = adPosBo.queryAllAdPosLocation(name);
out.print("<?xml version='1.0' encoding='utf-8'?>");
out.print("<SELECT name=\"adPosId\" id=\"adPosId\" onchange=\"changeAdType()\">");
out.print("<option >" + "请选择二级目录" + "</option>");
for (int i = 0; i < list.size(); i++) {
AdPosition position = (AdPosition) list.get(i);
if(position.getValidFlag().equals("Y")){
// out.print("<option value=" + position.getId() + " "+ad3+" == "+position.getTitle()+"\"selected=\'selected'\" >" + position.getTitle() + "</option>");
out.print("<option value=" + position.getId() + " ");
out.print(" >"+ position.getTitle() + "</option> ");
}
}
out.print("</SELECT>");
out.close();
}
这个我就是返回了一个下拉框的文本!
再给你个页面的参考:返回xml
function request(){
jQuery.ajax({
type: 'GET',
url: 'http://localhost:8080/Jdom/hehe.do?act=json',
data: "&info="+info,
cache: false,
dataType: 'xml',
error: function(){
alert('Error loading XML document');
},
success: function(xml){
自己写
}
});
}
仅供参考!
#15
晚了 一步 看来解释太多没用!
#1
点击登录的时候 老是显示 请求失败
#2
loginServlet 里还有这个代码 判断验证码的
但是 就是访问不到servlet
但是 就是访问不到servlet
if(!rand.equals(num))
{
message="验证码错误";
} else
{
message="";
}
#3
url:"loginServlet",
以前用jquery都+action的.不是url:"loginServlet.action"吗?
以前用jquery都+action的.不是url:"loginServlet.action"吗?
#4
我去试试!
#5
还是不行。。。
#6
自己顶下。。
#7
你的jsp 页面的目录,还有你的servlet配置的路径是什么样的
#8
web.xml文件发出来看看,是不是servlet配置路径有问题???
#9
你把url随便指到个 a.jsp,再a.jsp里输出看看。能输出 就是web.xml里配错了,不然就是ajax错
#10
1,别用ajax,用个a标签或者直接用url访问那个servlet看看,
不行的话就是servlet配置有问题
2,用ajax访问个别的肯定能访问的servlet,
不行的话就是ajax的程序问题
good luck
不行的话就是servlet配置有问题
2,用ajax访问个别的肯定能访问的servlet,
不行的话就是ajax的程序问题
good luck
#11
同问!
#12
把 dataType:"text",
去掉试试
去掉试试
#13
是路径的问题。。。 搞定了 谢谢大家!
#14
url:"loginServlet",
//发送到服务器的数据
data:"username="+name+"&password="+pass+"&rand="+rand,
问题就在这!你看看你的路径!你根本没有请求到!
再一个
protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
System.out.println("访问到");
@SuppressWarnings("unused")
String message="";
@SuppressWarnings("unused")
String name=request.getParameter("username");
System.out.println(name);
@SuppressWarnings("unused")
String pass=request.getParameter("password");
System.out.println(pass);
String num=request.getParameter("rand");
String rand=(String)(request.getSession().getAttribute("rand"));
}
这个方法 你要返回数据啊,没有看出你把得到的数据怎么返回到页面了!
底下这个是我拷了点代码应该给你点启发:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Cache-Control","no-cache");
String name=request.getParameter("name");
PrintWriter out = response.getWriter();
List list = adPosBo.queryAllAdPosLocation(name);
out.print("<?xml version='1.0' encoding='utf-8'?>");
out.print("<SELECT name=\"adPosId\" id=\"adPosId\" onchange=\"changeAdType()\">");
out.print("<option >" + "请选择二级目录" + "</option>");
for (int i = 0; i < list.size(); i++) {
AdPosition position = (AdPosition) list.get(i);
if(position.getValidFlag().equals("Y")){
// out.print("<option value=" + position.getId() + " "+ad3+" == "+position.getTitle()+"\"selected=\'selected'\" >" + position.getTitle() + "</option>");
out.print("<option value=" + position.getId() + " ");
out.print(" >"+ position.getTitle() + "</option> ");
}
}
out.print("</SELECT>");
out.close();
}
这个我就是返回了一个下拉框的文本!
再给你个页面的参考:返回xml
function request(){
jQuery.ajax({
type: 'GET',
url: 'http://localhost:8080/Jdom/hehe.do?act=json',
data: "&info="+info,
cache: false,
dataType: 'xml',
error: function(){
alert('Error loading XML document');
},
success: function(xml){
自己写
}
});
}
仅供参考!
//发送到服务器的数据
data:"username="+name+"&password="+pass+"&rand="+rand,
问题就在这!你看看你的路径!你根本没有请求到!
再一个
protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
System.out.println("访问到");
@SuppressWarnings("unused")
String message="";
@SuppressWarnings("unused")
String name=request.getParameter("username");
System.out.println(name);
@SuppressWarnings("unused")
String pass=request.getParameter("password");
System.out.println(pass);
String num=request.getParameter("rand");
String rand=(String)(request.getSession().getAttribute("rand"));
}
这个方法 你要返回数据啊,没有看出你把得到的数据怎么返回到页面了!
底下这个是我拷了点代码应该给你点启发:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Cache-Control","no-cache");
String name=request.getParameter("name");
PrintWriter out = response.getWriter();
List list = adPosBo.queryAllAdPosLocation(name);
out.print("<?xml version='1.0' encoding='utf-8'?>");
out.print("<SELECT name=\"adPosId\" id=\"adPosId\" onchange=\"changeAdType()\">");
out.print("<option >" + "请选择二级目录" + "</option>");
for (int i = 0; i < list.size(); i++) {
AdPosition position = (AdPosition) list.get(i);
if(position.getValidFlag().equals("Y")){
// out.print("<option value=" + position.getId() + " "+ad3+" == "+position.getTitle()+"\"selected=\'selected'\" >" + position.getTitle() + "</option>");
out.print("<option value=" + position.getId() + " ");
out.print(" >"+ position.getTitle() + "</option> ");
}
}
out.print("</SELECT>");
out.close();
}
这个我就是返回了一个下拉框的文本!
再给你个页面的参考:返回xml
function request(){
jQuery.ajax({
type: 'GET',
url: 'http://localhost:8080/Jdom/hehe.do?act=json',
data: "&info="+info,
cache: false,
dataType: 'xml',
error: function(){
alert('Error loading XML document');
},
success: function(xml){
自己写
}
});
}
仅供参考!
#15
晚了 一步 看来解释太多没用!