Get access to Servlet
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的更多相关文章
- 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 ...
- 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 ...
- Servlet中Web.xml的配置详解
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用 ...
- Servlet中Web.xml的配置详解(一)
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的 ...
- 转-OWASP CSRFGuard使用细节
版权声明:不存在一劳永逸的技术 只存在不断学习的人.本文为博主原创文章,未经博主允许不得转载.交流联系QQ:1120121072 https://blog.csdn.net/u013474568/ar ...
- web.xml配置文件详细解读
对于一个J2EE应用的开发者,或者叫java web后台的开发者来说.经常会和web.xml打交道,偶尔用到几个标签不知道啥意思.然后就度娘一下,久而久之虽然大概知道web.xml的基本使用方法,但是 ...
- spring boot打war包发布
由于公司一贯的方式都是将war包布在中间件tomcat下运行 所以这次springboot项目需要打war包 how to? 第一步:pom.xml 文件中,打包方式需要修改成war <pack ...
- springMVC-接收数据-参数绑定
接收数据-参数绑定 #Method Arguments概观 Same in Spring WebFlux The table below shows supported controller meth ...
- SpringMVC(十五):Dispatcher的重要组件之一MultipartResolver(StandardServletMultipartResolver和CommonsMultipartResolver)的用法
MultipartResolver组件 从Spring官网上可以看到MultipartResolver接口的定义信息: public interface MultipartResolver A str ...
随机推荐
- error: unknown field 'ioctl' specified in initializer
error message: 原因: 从2.6.36开始,file_operations结构发生了重大变化 具体看 xx../include/linux/fs.h定义: 取消了原先的 int (*i ...
- opencv 工程的保存
一个项目的保存,只要保存工程底下的.CPP .h .dll .lib 输入输出文件即可 最终保存的文件
- 在VS2010中打开VS2012的项目
修改工程文件来把VS2012的工程文件移植到VS2010中 首先是修改解决方案文件(.sln文件). 使用记事本打开,把里面的 Microsoft Visual Studio Solution Fil ...
- DetectEncoding
private Encoding DetectEncoding(ref Stream stream) { if (_pageEncoding != null) { return _pageEncodi ...
- hql语句理解2
/* * this.getSession().createQuery("sdfdf").executeUpdate();这里面的query可以是delete,update,inse ...
- 《hanoi(汉诺塔)问题》求解
//Hanoi(汉诺)塔问题.这是一个古典的数学问题,用递归方法求解.问题如下: /* 古代有一个梵塔,塔内有3个座A,B,C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上. 有一个老和 ...
- Codeforces Round #247 (Div. 2)
A.水题. 遍历字符串对所给的对应数字求和即可. B.简单题. 对5个编号全排列,然后计算每种情况的高兴度,取最大值. C.dp. 设dp[n][is]表示对于k-trees边和等于n时,如果is== ...
- ZOJ 3747 - Attack on Titans (递推)
题意:有三个兵种R,G,C,选取N个排成一列,要求G至少有M个连续的,R至多有K个连续的,问有多少种排列方式. 此题与UVa 10328 - Coin Toss非常相似,都是问某个字符连续出现的种数. ...
- linux常用命令:4文件压缩和解压命令
文件压缩和解压命令 压缩命令:gzip.tar[-czf].zip.bzip2 解压缩命令:gunzip.tar[-xzf].unzip.bunzip2 1. 命令名称:gzip 命令英文原意:GNU ...
- Editplus 正则表达式 删除含有指定字符串的行 删除注释
1.删除含有指定字符串的行 替换: ^.*(指定字符串).*$ 为空 例如,删除含有"JOIN"的行, 替换: ^.*JOIN.*$ 为空 2.删除//行注释 替换: / ...