Servlet实现login的例子

 http://blog.chinaunix.net/u2/67175/showart_1073562.html

 

这里我们用servlet开发一个简单的用户登录系统,主要功能包括:进行简单的用户验证、用servlet开发动态网页、从一个页面跳转到另外一个页面
    我们采用继承HttpServlet来开发这个系统,下面是系统的简单功能结构图
        

从上面看出我们需要开发三个servlet。下面我们分别列出他们的代码

一、Login.java
import javax.servlet.http.*;
import java.io.*;
public class Login extends HttpServlet{
    public Login() {
    }
   
    //处理get请求
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    {
      try{
      //解决中文乱码
      res.setContentType("text/html;charset=GB2312");
     
      PrintWriter pw = res.getWriter();
      //返回登录界面
      pw.println("<html>");
      pw.println("<body>");
      pw.println("<h1>用户登录界面</h1>");
      pw.println("<form action=logincl method=post>");
      pw.println("用户名: <input type=text name= username><br>");
      pw.println("密  码: <input type=text name= passwd><br>");
      pw.println("<input type=submit value= login><br>");
      pw.println("<body>");
      pw.println("<html>");
     }
     catch(Exception e)
     {
      e.printStackTrace();
     }
    }
   
    //处理post请求
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    {
     this.doGet(req,res);
    }
}

二、LoginCl.java

import javax.servlet.http.*;
import java.io.*;
public class LoginCl extends HttpServlet{
    public LoginCl() {
    }
   
    //处理get请求
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    {
      try{
      //解决中文乱码
      res.setContentType("text/html;charset=GB2312");
     
      //获取用户名和密码
      String name = req.getParameter("username");
      String pwd = req.getParameter("passwd");
     
      //验证
      if(name.equals("admin")&&pwd.equals("123"))
      {
       //合法
       res.sendRedirect("wel");//写web.xml中你要跳转到的servlet的那个url
      }
      else
      {
       //不合法
       res.sendRedirect("login");//写web.xml中你要跳转到的servlet的那个url
      }
      
      
      
     }
     catch(Exception e)
     {
      e.printStackTrace();
     }
    }
   
    //处理post请求
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    {
     this.doGet(req,res);
    }
   
}

三、Wel.java

import javax.servlet.http.*;
import java.io.*;
public class Wel extends HttpServlet{
    public Wel() {
    }
   
    //处理get请求
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    {
      try{
      //解决中文乱码
      res.setContentType("text/html;charset=GB2312");
     
      PrintWriter pw = res.getWriter();
      //欢迎界面
      pw.println("<html>");
      pw.println("<body>");
      pw.println("<h1>欢迎你的到来</h1>");
      pw.println("<body>");
      pw.println("<html>");
     }
     catch(Exception e)
     {
      e.printStackTrace();
     }
    }
   
    //处理post请求
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    {
     this.doGet(req,res);
    }
}

四、web.xml
<?xml version="1.0" encoding="GB2312"?>
<web-app>
  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
 
  <servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>Login</servlet-class>
  </servlet>
  <!-- Define the hello Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/login</url-pattern>
  </servlet-mapping>
 
   <servlet>
    <servlet-name>logincl</servlet-name>
    <servlet-class>LoginCl</servlet-class>
  </servlet>
  <!-- Define the hello Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>logincl</servlet-name>
    <url-pattern>/logincl</url-pattern>
  </servlet-mapping>
 
   <servlet>
    <servlet-name>wel</servlet-name>
    <servlet-class>Wel</servlet-class>
  </servlet>
  <!-- Define the hello Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>wel</servlet-name>
    <url-pattern>/wel</url-pattern>
  </servlet-mapping>
</web-app>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值