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>


原文地址:https://www.cnblogs.com/yzy-blogs/p/6597325.html