java中servlet实现登录验证的方法_java

login.java:

复制代码 代码如下:

package com.ncu;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class login extends HttpServlet{
 public void doGet(HttpServletRequest req,HttpServletResponse res){
  try{
   //res.setCharacterEncoding("utf-8");
   res.setContentType("text/html;charset=gbk");
   PrintWriter pw=res.getWriter();
   //返回登录界面
   pw.print("<html>");
   pw.print("<head>");
   pw.print("<title>登录界面</title></head>");
   pw.print("<body>");
   pw.print("<h1>用户登录界面</h1>");
   pw.print("<form action='loginpro' method=post>");
   pw.print("用户名:<input type=text name=userName><br>");
   pw.print("密码:<input type=password name=Pwd><br>");
   pw.print("<input type=submit value=submit>");
   pw.print("</body></html>");

   
  }catch(Exception e)
  {
   e.printStackTrace();
  }
 }
}

LoginPro.java:

复制代码 代码如下:

package com.ncu;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginPro extends HttpServlet{
 public void doPost(HttpServletRequest req,HttpServletResponse res){
  try{
   String user=req.getParameter("userName");
   String pwd=req.getParameter("Pwd");
   if(user==null){
    user="";
   }
   if(pwd==null)
   {
    pwd="";
   }
   if(user.equals("nicolas")&&pwd.equals("nicolas")){
    //用户和密码合法
    //res.sendRedirect("wel");
//    res.setCharacterEncoding("gbk");
//    PrintWriter pw=res.getWriter();
//    pw.print("恭喜你,登录成功!!");
    res.sendRedirect("welcome");

   }
   else{
    //不合法进行跳转

    res.sendRedirect("login");//跳转到登录界面
   }

   
  }catch(Exception e)
  {
   e.printStackTrace();
  }
 }
}

Welcome.java:

复制代码 代码如下:

package com.ncu;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Welcome extends HttpServlet{
 public void doGet(HttpServletRequest req,HttpServletResponse res){
  try{
   res.setCharacterEncoding("gbk");
   PrintWriter pw=res.getWriter();
   pw.print("welcome,您好");

  }catch(Exception e)
  {
   e.printStackTrace();
  }
 }
}

web.xml

复制代码 代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name> 
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  <!-- 给你的servlet取名,任意的 -->
  <servlet-name>hello</servlet-name>
  <!-- 指明servlet的路径(包名+类名 -->
  <servlet-class>com.ncu.Hello</servlet-class>

  </servlet>
   <servlet-mapping>
   <!-- 这个servlet名必须和映射的一致 -->
     <servlet-name>hello</servlet-name>

  <!-- 这是在浏览器中输入的访问该servlet的url -->
  <url-pattern>/nicolas</url-pattern>
  </servlet-mapping>
  <servlet>
  <servlet-name>helloservlet</servlet-name>
  <servlet-class>com.ncu.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>helloservlet</servlet-name>
  <url-pattern>/helloservlet</url-pattern>
  </servlet-mapping>
  <servlet>
  <servlet-name>helloHttpServlet</servlet-name>
  <servlet-class>com.ncu.helloHttpServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>helloHttpServlet</servlet-name>
  <url-pattern>/helloHttpServlet</url-pattern>
  </servlet-mapping>
  <servlet>
  <servlet-name>login</servlet-name>
  <servlet-class>com.ncu.login</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>login</servlet-name>
  <url-pattern>/login</url-pattern>
  </servlet-mapping>
  <servlet>
  <servlet-name>loginpro</servlet-name>
  <servlet-class>com.ncu.LoginPro</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>loginpro</servlet-name>
  <url-pattern>/loginpro</url-pattern>
  </servlet-mapping>
  <servlet>
  <servlet-name>welcome</servlet-name>
  <servlet-class>com.ncu.Welcome</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>welcome</servlet-name>
  <url-pattern>/welcome</url-pattern>
  </servlet-mapping>
</web-app>

时间: 2024-10-25 09:23:26

java中servlet实现登录验证的方法_java的相关文章

java中pdf转图片的实现方法_java

JAVA中实现pdf转图片可以通过第三方提供的架包,这里介绍几种常用的,可以根据自身需求选择使用. 一.icepdf.有收费版和开源版,几种方法里最推荐的.转换的效果比较好,能识别我手头文件中的中文,就是转换后可能字体的关系部分字间距有点宽.因为,字体支持是要收费的,所以转换的图片会带有官方的水印.去水印的方法可以查看另一篇文章:icepdf去水印方法 1.下载icepdf的架包,并导入项目中,这里用到4个,如下: 2.附上代码例子: String filePath = "c:/test.pdf

JAVA中IP和整数相互转化的方法_java

本文实例讲述了JAVA中IP和整数相互转化的方法.分享给大家供大家参考.具体分析如下: 一.基本知识点 IP --> 整数: 把IP地址转化为字节数组 通过左移位(<<).与(&).或(|)这些操作转为int 整数 --> IP: 将整数值进行右移位操作(>>>),右移24位,再进行与操作符(&)0xFF,得到的数字即为第一段IP. 将整数值进行右移位操作(>>>),右移16位,再进行与操作符(&)0xFF,得到的数字即为

Java中浮点数精度问题的解决方法_java

问题描述 在项目中用Java做浮点数计算时,发现对于4.015*100这样的计算,结果不是预料中的401.5,而是401.49999999999994.如此长的位数,对于显示来说很不友好. 问题原因:浮点数表示 查阅相关资料,发现原因是:计算机中的浮点数并不能完全精确表示.例如,对于一个double型的38414.4来说,计算机是这样存储它的: 转成二进制:1001011000001110.0110011001100110011001100110011001100 转成科 学计数法:1.0010

Java中指定时区的3种方法_java

这两天在做与某知名一卡通公司的单点登录集成(我们的产品使用Java编写,对方的程序使用.Net编写)其中有一项参数是时间戳.即当前时间相对于公元1970-1-1 00:00:00的秒数.按照他们给出的文档我完成了Java部分的编写,时间戳部分很简单,一句话: 复制代码 代码如下:     private String createTimestamp() //timestamp     {         return System.currentTimeMillis() / 1000 + "&q

Java中内存分配的几种方法_java

一.数组分配的上限 Java里数组的大小是受限制的,因为它使用的是int类型作为数组下标.这意味着你无法申请超过Integer.MAX_VALUE(2^31-1)大小的数组.这并不是说你申请内存的上限就是2G.你可以申请一个大一点的类型的数组.比如: 复制代码 代码如下: final long[] ar = new long[ Integer.MAX_VALUE ]; 这个会分配16G -8字节,如果你设置的-Xmx参数足够大的话(通常你的堆至少得保留50%以上的空间,也就是说分配16G的内存,

图文讲解Java中实现quickSort快速排序算法的方法_java

相对冒泡排序.选择排序等算法而言,快速排序的具体算法原理及实现有一定的难度.为了更好地理解快速排序,我们仍然以举例说明的形式来详细描述快速排序的算法原理.在前面的排序算法中,我们以5名运动员的身高排序问题为例进行讲解,为了更好地体现快速排序的特点,这里我们再额外添加3名运动员.实例中的8名运动员及其身高信息详细如下(F.G.H为新增的运动员): A(181).B(169).C(187).D(172).E(163).F(191).G(189).H(182) 在前面的排序算法中,这些排序都是由教练主

Java中Date与String相互转换的方法_java

我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型,反过来,在页面上显示的时候,需要从数据库获取出生日期,此时该类型为日期类型,然后需要将该日期类型转为字符串显示在页面上,Java的API中为我们提供了日期与字符串相互转运的类DateForamt.DateForamt是一个抽象类,所以平时使用的是它的子类SimpleDateFormat.SimpleDateFormat有4个构造函数,

Java中终止线程的三种方法_java

Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经被废弃,使用它们是极端不安全的! 1.线程正常执行完毕,正常结束 也就是让run方法执行完毕,该线程就会正常结束. 但有时候线程是永远无法结束的,比如while(true). 2.监视某些条件,结束线程的不间断运行 需要while()循环在某以特定条件下退出,最直接的办法就是设一个boolean标志,并通过设置这个标志来控制循环

java中调用GDAL DLL的实现方法_java

步骤:1.编译GDAL(编译过程忽略).2.将编译过后的动态链接库拷贝到{JAVA_HOME}\jre\bin目录下,如下图:   3.将编译过后的gdal.jar引入java工程,测试调用,代码如下: 复制代码 代码如下:       @Override    protected boolean doIsAvailable() throws Throwable {        System.loadLibrary("gdaljni");        return true;