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

 更新时间:2013年05月13日 10:09:06   作者:  
做web开发,登录验证是免不了的,今天学习了servlet的登录验证,当然是很简单的,没有使用session,request等作用域对象,所以还是可以直接通过地址访问网页的。

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>

相关文章

  • SpringCloud Feign如何在远程调用中传输文件

    SpringCloud Feign如何在远程调用中传输文件

    这篇文章主要介绍了SpringCloud Feign如何在远程调用中传输文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • java多线程使用mdc追踪日志方式

    java多线程使用mdc追踪日志方式

    这篇文章主要介绍了java多线程使用mdc追踪日志方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • http basic authentication通过post方式访问api示例分享 basic认证示例

    http basic authentication通过post方式访问api示例分享 basic认证示例

    在HTTP中,基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供以用户名和口令形式的凭证,这篇文章主要介绍了http basic authentication通过post方式访问api示例,大家参考使用吧
    2014-01-01
  • Java内存映射 大文件轻松处理

    Java内存映射 大文件轻松处理

    这篇文章主要介绍了Java内存映射 大文件轻松处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Idea 2020.2 创建web、Spring项目的教程图解

    Idea 2020.2 创建web、Spring项目的教程图解

    这篇文章主要介绍了Idea 2020.2 创建web、Spring项目的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Maven+Tomcat8 实现自动化部署的方法

    Maven+Tomcat8 实现自动化部署的方法

    本篇文章主要介绍了Maven+Tomcat8 实现自动化部署的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 详解ThreadLocal为什么会内存溢出原理

    详解ThreadLocal为什么会内存溢出原理

    这篇文章主要为大家介绍了ThreadLocal为什么会内存溢出原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Java实现基于UDP协议的网络通信UDP编程

    Java实现基于UDP协议的网络通信UDP编程

    在Java中使用UDP编程,仍然需要使用Socket,因为应用程序在使用UDP时必须指定网络接口(IP地址)和端口号。注意:UDP端口和TCP端口虽然都使用0~65535,但他们是两套独立的端口,即一个应用程序用TCP占用了端口1234,不影响另一个应用程序用UDP占用端口1234
    2023-04-04
  • Spring MVC Controller返回值及异常的统一处理方法

    Spring MVC Controller返回值及异常的统一处理方法

    这篇文章主要给大家介绍了关于Spring MVC Controller返回值及异常的统一处理方法,文中通过示例代码介绍的非常详细,对大家的学习或者使用Spring MVC具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • Java封装公共Result结果返回类的实现

    Java封装公共Result结果返回类的实现

    在使用Java开发接口请求中,我们需要对请求进行进行统一返回值,这时候我们自己封装一个统一的Result返回类,本文主要介绍了Java封装公共Result结果返回类的实现,感兴趣的可以了解一下
    2023-01-01

最新评论