import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet
 {protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException,IOException
  { resp.setContentType("text/html;charset=gbk");
  PrintWriter out=resp.getWriter();
  try{
   String myUserName=this.getInitParameter("name");
   String myPassWord=this.getInitParameter("password");
             HttpSession session=req.getSession();
   String scode=(String)session.getAttribute("code");
   String userName=req.getParameter("name");
   String passWord=req.getParameter("password");
   String code=req.getParameter("code");
   out.println("<html><body>");
   out.println("<br/>");
   if(!code.toUpperCase().equals(scode)){out.println("Wrong Validate!");}
   else if (userName.equals(myUserName)&&passWord.equals(myPassWord))
   {out.println("Login Sucessed! ");}
   else{out.println("Login Failed!");}
  }
   finally{out.close();}
  }
  protected void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
   doGet(req,resp);}

}

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import javax.servlet.*;
import javax.servlet.http.*;

public class CheckCodeServlet extends HttpServlet {
 public void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  resp.setContentType("image/jpeg");
  OutputStream out = resp.getOutputStream();
  try {
   resp.setHeader("programa", "no-cache");
   resp.setHeader("Cache-Control", "no-cache");
   resp.setDateHeader("Expires", 0);
   BufferedImage image = new BufferedImage(50, 18,
     BufferedImage.TYPE_INT_RGB);
   Graphics g = image.getGraphics();
   g.setColor(Color.LIGHT_GRAY);
   g.fillRect(0, 0, 50, 18);
   g.setColor(Color.LIGHT_GRAY);
   g.drawRect(0, 0, 50, 18);
   String str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   String code = "";
   for (int i = 0; i < 4; i++) {
    int k = (int) (Math.random() * 36);
    char c = str.charAt(k);
    code += c;
   }
   HttpSession session = req.getSession();
   session.setAttribute("code", code);
   g.setColor(Color.BLACK);
   Font font = new Font("DIALOG", Font.ITALIC, 15);
   g.setFont(font);
   g.drawString(code, 3, 15);
   ImageIO.write(image, "JPEG", out);
   out.flush();
   out.close();
  } finally {
   out.close();
  }
 }

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  doGet(req,resp);}

}

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<<html>
  <head>
    <title>Login</title>
 </head>
    <BODY bgColor=#ffffff leftMargin=0 text=#000000 topMargin=30><center>
    <form action="LoginServlet" method="get">
      User  <input maxlength=10 name="name" size=8><br>
    Password <input type=password name="password" size=8><br>
    Validate <input name=code size=8><br>
    <img src="checkCodeServlet" onclick="self.location.reload();"/><br>
<input name=Submit type=submit value=Commit>
<input name=Submit2 type=reset value=Reset>
  </form>
  </body>
</html>

<web-app>
     <servlet>
           <servlet-name>CheckCodeServlet</servlet-name>
           <servlet-class>Com.CheckCodeServlet</servlet-class>
    </servlet>

<servlet>
           <servlet-name>LoingServlet</servlet-name>
           <servlet-class>Com.LoingServlet</servlet-class>

<init-param>
                    <param-name>name</param-name>
                    <param-value>abc</param-value>
            </init-param>          
           <init-param>
                    <param-name>password</param-name>
                    <param-value>123</param-value>
            </init-param>

</servlet>

<servlet-mapping>
           <servlet-name>CheckCodeServlet</servlet-name>
           <url-pattern>/CheckCodeServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
           <servlet-name>LoingServlet</servlet-name>
           <url-pattern>/LoingServlet</url-pattern>
    </servlet-mapping>
</web-app>

Get access to Servlet的更多相关文章

  1. Java Code Examples for javax.servlet.http.Part

    http://www.programcreek.com/java-api-examples/index.php?api=javax.servlet.http.Part The following ar ...

  2. Embedded tomcat 7 servlet 3.0 annotations not working--转

    Question: I have a stripped down test project which contains a Servlet version 3.0, declared with an ...

  3. Servlet中Web.xml的配置详解

    1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用 ...

  4. Servlet中Web.xml的配置详解(一)

    1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的 ...

  5. 转-OWASP CSRFGuard使用细节

    版权声明:不存在一劳永逸的技术 只存在不断学习的人.本文为博主原创文章,未经博主允许不得转载.交流联系QQ:1120121072 https://blog.csdn.net/u013474568/ar ...

  6. web.xml配置文件详细解读

    对于一个J2EE应用的开发者,或者叫java web后台的开发者来说.经常会和web.xml打交道,偶尔用到几个标签不知道啥意思.然后就度娘一下,久而久之虽然大概知道web.xml的基本使用方法,但是 ...

  7. spring boot打war包发布

    由于公司一贯的方式都是将war包布在中间件tomcat下运行 所以这次springboot项目需要打war包 how to? 第一步:pom.xml 文件中,打包方式需要修改成war <pack ...

  8. springMVC-接收数据-参数绑定

    接收数据-参数绑定 #Method Arguments概观 Same in Spring WebFlux The table below shows supported controller meth ...

  9. SpringMVC(十五):Dispatcher的重要组件之一MultipartResolver(StandardServletMultipartResolver和CommonsMultipartResolver)的用法

    MultipartResolver组件 从Spring官网上可以看到MultipartResolver接口的定义信息: public interface MultipartResolver A str ...

随机推荐

  1. CPU是怎么制造的

    大概的过程就是,先选一堆好沙子(纯净的沙子),初步加工一般在沿海,然而都是初加工,因为技术不行,所以一般用比较污染环境的方法加工大99.9%纯度的硅,然后低价卖给国外企业,用高精尖技术加工到99.99 ...

  2. Keil 4.0 生成bin文件

    在菜单:Flash /configuare falsh tools ... option for Tatget '项目' /User中:在Run User Programs After Build/R ...

  3. SharePoint 2013 开发——开发并部署第一个APP

    博客地址:http://blog.csdn.net/FoxDave 本篇我们开始对开发APP应用程序进行了解. 本篇基于本地SharePoint环境(如果是Office 365的话会方便许多),需 ...

  4. AJAX笔记

    浏览器脚本——AJAX AJAX =  异步的 JavaScript 和 XML(Asynchronous JavaScript and XML). 是一种新的技术,它可以创建更好.更快且交互性更强的 ...

  5. java,android获取系统当前时间

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss ");Date curDate = ...

  6. PAT 06-1 简单计算器

    想看一般简单计算器实现的看客不好意思了,这不是你想要点东西,此处题设为“只能进行加减乘除”.“都是整数”.”优先级相同“和"从左到右".此题来自PAT(http://www.pat ...

  7. php大力力 [024节]PHP中的字符串连接操作(2015-08-27)

    2015-08-27 php大力力024.PHP中的字符串连接操作 PHP中的字符串连接操作  阅读:次   时间:2012-03-25 PHP字符串的连接的简单实例 时间:2013-12-30 很多 ...

  8. HDOJ-三部曲-1002-Etaoin Shrdlu

    ContestsProblemsRanklistStatusStatistics Etaoin Shrdlu Time Limit : 2000/1000ms (Java/Other)   Memor ...

  9. [转]SQLITE3 C语言接口 API 函数简介

    SQLITE3 C语言接口 API 函数简介 说明:本说明文档属作者从接触 SQLite 开始认识的 API 函数的使用方法, 由本人翻译, 不断更新. /* 2012-05-25 */ int sq ...

  10. magento问题集3

    MISSING LANGUAGE FILES OR DIRECTORIES A:已经装了俄语包,也是russian目录,在前台也可以用.但是在后台最上面总是显示MISSING LANGUAGE FIL ...