本文中将介绍下一个利用servlet+tomact实现一个登录的小实例,来具体学习下servlet具体是什么。

一、这是一个登录流程

     这张图片具体介绍了下一个登录的具体流程,和怎么样调用servlet的过程。

servlet是什么?

    服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口CommonGateway Interface,CGI)应用程序完成的。然而,在服务器上运行 Java,这种程序可使用 Java 编程语言实现。在通信量大的服务器上,JavaServlet 的优点在于它们的执行速度更快于 CGI 程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。

    我的理解:servlet就是解析从浏览器中发送的数据,然后传送到服务端进行验证,最终将验证结果返回到浏览器中,而tomcat则是servlet的一个容器,负责监督和管理servlet的生命周期。


具体代码:

   创建一个html文件,用来制作登录界面

<span style="font-family:KaiTi_GB2312;font-size:18px;"><html>
	<head>
		<title>登录</title>
	</head>
	<body>
		<form action="http://localhost:8088/test_servlet/LoginServlet" method="post">
			用户:<input type="text" name="username"><br>
			密码:<input type="password" name="password"><br>
			<input type="submit" value="登录">
		</form>
	</body>
</html></span>

编写servlet代码

<span style="font-family:KaiTi_GB2312;font-size:18px;">import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class LoginServlet extends HttpServlet {
	
	public void doGet(HttpServletRequest request,
                     HttpServletResponse response)
              throws ServletException,
                     IOException {
        String username = request.getParameter("username");   
        String password = request.getParameter("password");          	
        
        System.out.println("username=" + username);
        System.out.println("password=" + password);
        
        response.setContentType("text/html;charset=GB18030");
        
        //response.getWriter().println("Login Success!!!");
        //response.getWriter().println("登录成功!!!");
        response.getWriter().println("<html>");
        response.getWriter().println("<head>");	
        response.getWriter().println("<title>登录信息</title>");	
        response.getWriter().println("</head>");	
        response.getWriter().println("<body>");	
        response.getWriter().println("欢迎【" + username + "】用户登录成功!!!");	
        response.getWriter().println("</body>");	
        response.getWriter().println("</html>");
    }                 	
  
	public void doPost(HttpServletRequest request,
                     HttpServletResponse response)
              throws ServletException,
                     IOException {
      doGet(request, response);               	
	}                     
}</span>

在tomcat中编写配置文件

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>LoginServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
  </servlet-mapping>
 </web-app>
</span>

最终实现效果:




这整个过程就是从浏览器中获取到登录信息,然后经过servlet验证,返回登陆信息。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐