您的位置:首页 > 其它

web实现验证码和简单的登录注册

2015-07-24 20:28 621 查看
1、注册对应的servlet

package outservlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class add extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GB18030");
response.setCharacterEncoding("GB18030");

int tel = Integer.parseInt(request.getParameter("tel"));
String password = request.getParameter("password");
String code = request.getParameter("code");

service.ManagerImpls sm = new service.ManagerImpls();
model.User u = new model.User();
u.setTel(tel);
u.setPassword(password);
u.setCode(code);

String checkcode = request.getParameter("checkcode");
String piccode = (String) request.getSession().getAttribute("piccode");
boolean flag2 = piccode.equalsIgnoreCase(checkcode);

boolean flag = sm.add(u);
if(flag == true && flag2 ==true)
{
response.sendRedirect("index.jsp");
}
else{
response.setContentType("textml");
PrintWriter out = response.getWriter();
out.print("失败!");
}
}


}

2、登录对应的servlet

package outservlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import service.Manager;

import service.ManagerImpls;

public class admm extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request,response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("GB18030");
response.setCharacterEncoding("GB18030");
//Manager m = new ManagerImpls();

int tel = Integer.parseInt(request.getParameter("tel"));
String password = request.getParameter("password");
Manager m = new ManagerImpls();
boolean flag1;
flag1 = m.checkLogin(tel, password);
String checkcode = request.getParameter("checkcode");
String piccode = (String) request.getSession().getAttribute("piccode");
boolean flag2 = piccode.equalsIgnoreCase(checkcode);

if(flag1==true && flag2==true)
{
response.sendRedirect("welcom.jsp");
}
else{
response.setContentType("textml");
PrintWriter out = response.getWriter();
out.print("失败!");
}
}


}

3、验证码对应的servlet

package outservlet;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.image.BufferedImage;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Random;

import javax.imageio.ImageIO;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.image.BufferedImage;

import java.io.IOException;

import java.util.Random;

import javax.imageio.ImageIO;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ImagerServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
BufferedImage bi = new BufferedImage(70, 40,BufferedImage.TYPE_INT_BGR);
Graphics g = bi.getGraphics();
Color c = new Color(241,228,167);
g.setColor(c);
g.fillRect(0, 0, 70, 40);
char ch[] = "ABCDEFGHIJKLMN1234567890".toCharArray();
StringBuffer sb = new StringBuffer();
Random r = new Random();
for(int i=0;i<4;i++)
{
int index = r.nextInt(ch.length);
g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));
g.drawString(ch[index]+"", i*15+3, 20);
sb.append(ch[index]);
}
request.getSession().setAttribute("piccode", sb.toString());
ImageIO.write(bi, "JPG", response.getOutputStream());
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: