zoukankan      html  css  js  c++  java
  • Servlet第一个实例之用户登录网址

    现在通过一个简单的例子来更加深入的了解Servlet的基本原理和机制,用户登录网址(1.0版本)的基本框架图如下:


    它的功能包括:

    1、进行简单的用户验证

    2、如何使用Servlet开发动态网页

    3、如何从一个页面跳转到另外一个页面

    登录界面代码:

    /**
     * @(#)HelloGen.java
     *
     *登录界面
     * @author 
     * @version 1.00 2017/2/23
     */
    package com.chongqing;
    
    import javax.servlet.http.*;
    import java.io.*;
    
    public class Login extends HttpServlet {
        
        //处理get请求
        public void doGet(HttpServletRequest req,HttpServletResponse res){
    		
        		//业务逻辑
        		try {
        			
        				//中文乱码
        				res.setContentType("text/html;charset=gbk");
    					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=password name=passwd><br>");
    					pw.println("<input type=submit value=login><br>");
    					pw.println("</form>");
    					pw.println("</body>");
    					pw.println("</html>");
    			}
    			catch (Exception ex) {
    				ex.printStackTrace();
    			}
        	}
        	
        public void doPost(HttpServletRequest req,HttpServletResponse res){
        	
        	this.doGet(req,res);
        }
    }

    验证登录代码:

    /**
     * @(#)HelloGen.java
     *
     *验证页面
     * @author 
     * @version 1.00 2017/2/23
     */
    package com.chongqing;
    
    import javax.servlet.http.*;
    import java.io.*;
    
    public class LoginCl extends HttpServlet {
        
        //处理get请求
        public void doGet(HttpServletRequest req,HttpServletResponse res){
    		
        		//业务逻辑
        		try {
        			//接收用户名和密码
        			String u = req.getParameter("username");
        			String p = req.getParameter("passwd");
        			
        			//验证
        			if(u.equals("zero")&&p.equals("123")){
        				
        				//合法,跳转到欢迎界面
        				res.sendRedirect("wel");//写你要到的Servlet的URL
        				
        				}else{
        					
        					//不合法
        					res.sendRedirect("login");//写你要到的Servlet的URL
        				}
    
    			}
    			catch (Exception ex) {
    				ex.printStackTrace();
    			}
        	}
        	
        public void doPost(HttpServletRequest req,HttpServletResponse res){
        	
        	this.doGet(req,res);
        }
    }

    登录成功界面代码:

    /**
     * @(#)HelloGen.java
     *
     *欢迎界面
     * @author 
     * @version 1.00 2017/2/23
     */
    package com.chongqing;
    
    import javax.servlet.http.*;
    import java.io.*;
    
    public class wel extends HttpServlet {
        
        //处理get请求
        public void doGet(HttpServletRequest req,HttpServletResponse res){
    		
        		//业务逻辑
        		try {
        			
      
    					PrintWriter pw = res.getWriter();
    					pw.println("Welcom!");
    		
    			}
    			catch (Exception ex) {
    				ex.printStackTrace();
    			}
        	}
        	
        public void doPost(HttpServletRequest req,HttpServletResponse res){
        	
        	this.doGet(req,res);
        }
    }

    最后是web.xml的代码:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    
    <web-app >
    
        <description>
          Servlet and JSP Examples.
        </description>
        <display-name>Servlet and JSP Examples</display-name>
    
          <servlet-name>hello</servlet-name>
          <!--指明servlet的路径,(包名+类名)-->
          <servlet-class>com.chongqing.Hello</servlet-class>
        </servlet>
        
    	<servlet>
        	<!--给你的servlrt取名,任意的-->
          <servlet-name>login</servlet-name>
          <!--指明servlet的路径,(包名+类名)-->
          <servlet-class>com.chongqing.Login</servlet-class>
        </servlet>
        
        <servlet-mapping>
        		<!--给你的servlrt取名,任意的-->
            <servlet-name>login</servlet-name>
            <!--这是在浏览器中输入的访问该servlet的url-->
            <url-pattern>/login</url-pattern>
        </servlet-mapping>
    	
    		<servlet>
        	<!--给你的servlrt取名,任意的-->
          <servlet-name>logincl</servlet-name>
          <!--指明servlet的路径,(包名+类名)-->
          <servlet-class>com.chongqing.LoginCl</servlet-class>
        </servlet>
        
        <servlet-mapping>
        		<!--给你的servlrt取名,任意的-->
            <servlet-name>logincl</servlet-name>
            <!--这是在浏览器中输入的访问该servlet的url-->
            <url-pattern>/logincl</url-pattern>
        </servlet-mapping>
    
    	
    		<servlet>
        	<!--给你的servlrt取名,任意的-->
          <servlet-name>wel</servlet-name>
          <!--指明servlet的路径,(包名+类名)-->
          <servlet-class>com.chongqing.wel</servlet-class>
        </servlet>
        
        <servlet-mapping>
        		<!--给你的servlrt取名,任意的-->
            <servlet-name>wel</servlet-name>
            <!--这是在浏览器中输入的访问该servlet的url-->
            <url-pattern>/wel</url-pattern>
        </servlet-mapping>
    
    
       
       <!--JSPC servlet mappings end -->
    
    </web-app>
    


  • 相关阅读:
    WPF 打开文件 打开路径对话框
    WPF Button添加图片
    Delphi 正则表达式PerlRegEx
    解决Inet控件下载utf8网页乱码的问题
    Delphi程序结构
    VB 936(gb2312)URL编码与解码
    Chr 将一个有序数据转换为一个ANSI字符
    Delphi正则表达式使用方法(TPerlRegEx)
    Delphi类型转换
    Delphi 正则表达式TPerlRegEx 类的属性与方法
  • 原文地址:https://www.cnblogs.com/yzy-blogs/p/6597325.html
Copyright © 2011-2022 走看看