import javax.servlet.*;
import java.io.*;
import javax.servlet.http.*;public class LoginServlet2 extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException
{
String action=req.getParameter("action");
if("chk".equals(action))
{
String name=req.getParameter("user");
String pwd=req.getParameter("password");
if((name!=null) && (pwd!=null))
{
if(name.equals("zhangsan") && pwd.equals("1234"))
{
StringBuffer sb=new StringBuffer();
sb.append("username=");
sb.append(name);
sb.append("&password=");
sb.append(pwd);
Cookie cookie=new Cookie("userinfo",sb.toString());
cookie.setMaxAge(1800);
resp.addCookie(cookie);
resp.sendRedirect("greet2");
return;
}
else
{
resp.setContentType("text/html;charset=gb2312");
PrintWriter out=resp.getWriter();
out.println("用户名或密码错误,请<a href=login2>重新登录</a>");
return;
}
}
}
else
{
resp.setContentType("text/html;charset=gb2312");
PrintWriter out=resp.getWriter();
out.println("<html>");
out.println("<meta http-equiv=\"Pragma\" content=\"no-cache\">");
out.println("<head><title>登录页面</title></head>");
out.println("<body>");
out.println("<p>");
out.println("<form method=post action=login2?action=chk>");
out.println("<table>");
out.println("<tr>");
out.println("<td>请输入用户名</td>");
out.println("<td><input type=text name=user></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>请输入密码</td>");
out.println("<td><input type=password name=password></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><input type=reset value=重填></td>");
out.println("<td><input type=submit value=登录></td>");
out.println("</tr>");
out.println("</table></form></body></html>");
out.close();
}
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException
{
doGet(req,resp);
}
}
package org.sunxin.lesson.jsp.ch09;import javax.servlet.*;
import java.io.*;
import javax.servlet.http.*;public class GreetServlet2 extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException
{
Cookie[] cookies=req.getCookies();
if(null!=cookies && cookies.length!=0)
{
String name=null;
String pwd=null;
for(int i=0;i<cookies.length;i++)
{
Cookie cookie=cookies[i];
String cName=cookie.getName();
if(cName.equals("userinfo"))
{
String cValue=cookie.getValue();
String[] userInfo=cValue.split("&");
for(int j=0;j<userInfo.length;j++)
{
String[] value=userInfo[j].split("=");
if(value[0].equals("username"))
{
name=value[1];
}
if(value[0].equals("password"))
{
pwd=value[1];
}
}
}
}
if("zhangsan".equals(name) && "1234".equals(pwd))
{
resp.setContentType("text/html;charset=gb2312");
PrintWriter out=resp.getWriter();
out.println("<html>");
out.println("<meta http-equiv=\"Pragma\" content=\"no-cache\">");
out.println("<head><title>欢迎页面</title></head>");
out.println("<body>");
out.println(name+",欢迎你");
out.println("<a href=login2>重新登录</a>");
out.println("</body></html>");
out.close();
return;
}
}
RequestDispatcher rd=req.getRequestDispatcher("login2");
rd.forward(req,resp);
}
}
在LoginServlet2里输入了zhangsan 和密码 1234
在 if(value[0].equals("username"))
{
name=value[1];
}跳了错误是:严重: Servlet.service() for servlet GreetServlet2 threw exception
java.lang.ArrayIndexOutOfBoundsException: 1
at org.sunxin.lesson.jsp.ch09.GreetServlet2.doGet(GreetServlet2.java:31)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Thread.java:595)
import java.io.*;
import javax.servlet.http.*;public class LoginServlet2 extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException
{
String action=req.getParameter("action");
if("chk".equals(action))
{
String name=req.getParameter("user");
String pwd=req.getParameter("password");
if((name!=null) && (pwd!=null))
{
if(name.equals("zhangsan") && pwd.equals("1234"))
{
StringBuffer sb=new StringBuffer();
sb.append("username=");
sb.append(name);
sb.append("&password=");
sb.append(pwd);
Cookie cookie=new Cookie("userinfo",sb.toString());
cookie.setMaxAge(1800);
resp.addCookie(cookie);
resp.sendRedirect("greet2");
return;
}
else
{
resp.setContentType("text/html;charset=gb2312");
PrintWriter out=resp.getWriter();
out.println("用户名或密码错误,请<a href=login2>重新登录</a>");
return;
}
}
}
else
{
resp.setContentType("text/html;charset=gb2312");
PrintWriter out=resp.getWriter();
out.println("<html>");
out.println("<meta http-equiv=\"Pragma\" content=\"no-cache\">");
out.println("<head><title>登录页面</title></head>");
out.println("<body>");
out.println("<p>");
out.println("<form method=post action=login2?action=chk>");
out.println("<table>");
out.println("<tr>");
out.println("<td>请输入用户名</td>");
out.println("<td><input type=text name=user></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>请输入密码</td>");
out.println("<td><input type=password name=password></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><input type=reset value=重填></td>");
out.println("<td><input type=submit value=登录></td>");
out.println("</tr>");
out.println("</table></form></body></html>");
out.close();
}
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException
{
doGet(req,resp);
}
}
package org.sunxin.lesson.jsp.ch09;import javax.servlet.*;
import java.io.*;
import javax.servlet.http.*;public class GreetServlet2 extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException
{
Cookie[] cookies=req.getCookies();
if(null!=cookies && cookies.length!=0)
{
String name=null;
String pwd=null;
for(int i=0;i<cookies.length;i++)
{
Cookie cookie=cookies[i];
String cName=cookie.getName();
if(cName.equals("userinfo"))
{
String cValue=cookie.getValue();
String[] userInfo=cValue.split("&");
for(int j=0;j<userInfo.length;j++)
{
String[] value=userInfo[j].split("=");
if(value[0].equals("username"))
{
name=value[1];
}
if(value[0].equals("password"))
{
pwd=value[1];
}
}
}
}
if("zhangsan".equals(name) && "1234".equals(pwd))
{
resp.setContentType("text/html;charset=gb2312");
PrintWriter out=resp.getWriter();
out.println("<html>");
out.println("<meta http-equiv=\"Pragma\" content=\"no-cache\">");
out.println("<head><title>欢迎页面</title></head>");
out.println("<body>");
out.println(name+",欢迎你");
out.println("<a href=login2>重新登录</a>");
out.println("</body></html>");
out.close();
return;
}
}
RequestDispatcher rd=req.getRequestDispatcher("login2");
rd.forward(req,resp);
}
}
在LoginServlet2里输入了zhangsan 和密码 1234
在 if(value[0].equals("username"))
{
name=value[1];
}跳了错误是:严重: Servlet.service() for servlet GreetServlet2 threw exception
java.lang.ArrayIndexOutOfBoundsException: 1
at org.sunxin.lesson.jsp.ch09.GreetServlet2.doGet(GreetServlet2.java:31)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Thread.java:595)
解决方案 »
- jsp+Sql Server2000 中文乱码问题
- mysql 存对象
- 控件在网页内不能显示,问题在哪里?
- 刷新页面,出现这个“提示“不重新发送信息,则无法刷新网页。请单击"重试"再次发送信息,或单击"取消"返回正查看的页.“请问如何改”
- 高薪急聘熟悉JSP/Struts程序员写书
- 高分求救:连接oracle的记录集产生ORA-01009: 缺少法定参数的错误!
- 谢谢各位大侠们:java方面有名的外国网站能提供几个吗?还有.net方面的
- 我是菜鸟,请问大虾这是什么错误,环境sql server window2000 tomcat
- 怎样安装jdk
- 初学,没有任何java语言的功底。只用过asp。请各位大虾教我怎样入门呢?
- eclipse 疑难杂症!
- 求教一段session验证登录代码
String[] value=userInfo[j].split("="); 当userInfo[j]中没"="时, if(value[0].equals("username"))
{
name=value[1];
} 就不能使用value[1]了.建议先判断是否有"=";
{
name=value[1];
}
有问题。
StringBuffer sb=new StringBuffer();
sb.append("username=");
sb.append(name);
sb.append("&password=");
sb.append(pwd); 在上面的代码中 是这样添加的 他是有 = & 这2个符号的