浅谈JavaWEB入门必备知识之Servlet入门案例详解

原创 2015年07月06日 21:56:13

工欲善其事、必先利其器,想要成为JavaWEB高手那么你不知道servlet是一个什么玩意的话,那就肯定没法玩下去,那么servlet究竟是个什么玩意?下面,仅此个人观点并通过一个小小的案例来为大家详述一下什么是servlet...

个人观点:说白了,servlet就是一个java应用程序、一个运行在服务器上java类,servlet就是java处理web请求的一种机制,它具有独立于平台和协议的特性,可以生成动态的Web页面。再形象点,就是你通过IE等浏览器发送一个http请求后会根据你请求的内容找到相应的serlet类,然后由serlet为你返回一个指定的动态网页。

科学定义:Servlet 是在服务器上运行的小程序。这个词是在 Java applet的环境中创造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(Common Gateway Interface,CGI)应用程序完成的。然而,在服务器上运行 Java,这种程序可使用 Java 编程语言实现。在通信量大的服务器上,JavaServlet 的优点在于它们的执行速度更快于 CGI 程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。

实现过程:

1) 客户端发送请求至服务器端;
2) 服务器将请求信息发送至 Servlet;
3) Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
4) 服务器将响应返回给客户端。

好了,废话不多说,如果还不明白的话,就请看我下面的一个案例吧...
我这里通过一个小小的案例来让你彻底的了解一下servlet到底是个啥玩意?它的实现步骤是什么?
案例:Servlet用户登录验证系统

第一步:开发Login.java(登录界面)

//登录界面
package com.xushouwei.cn;
import javax.servlet.http.*;
import java.io.*;
public class Login extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        this.doPost(req,res);
    }
    
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        try{
            //解决中文乱码问题
            res.setContentType("text/html;charset=gbk");
            PrintWriter pw=res.getWriter();
            pw.println("<html>");
            pw.println("<head>");
            pw.println("</head>");
            pw.println("<body>");
            pw.println("<h1>用户登录</h1>");
            pw.println("<form action=loginCl method=get>");
            pw.println("用户名:<input type=text name=username><br>");
            pw.println("密码:<input type=password name=pwd><br>");
            pw.println("<input type=submit value=提交><br>");
            pw.println("<input type=reset value=重置><br>");
            pw.println("</form>");
            pw.println("</body>");
            pw.println("</html>");
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        
    }
}

第二步:开发LoginCl.java界面(用户处理界面)

//用户验证
package com.xushouwei.cn;
import javax.servlet.http.*;
import java.io.*;
public class LoginCl extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        this.doPost(req,res);
    }
    
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        try{
            
            //接收用户名和密码
            String u=req.getParameter("username");
            String p=req.getParameter("pwd");
            //验证
            if(u.equals("xushouwei")&&p.equals("123456"))
            {
                //合法用户
                res.sendRedirect("wel");
            }
            else
            {
                //不合法
                res.sendRedirect("login");//这里写上你要调到的servlet的url
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        
    }
}

第三步:开发Wel.java界面(欢迎界面)

//这是欢迎界面
package com.xushouwei.cn;
import javax.servlet.http.*;
import java.io.*;
public class Wel extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        this.doPost(req,res);
    }
    
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        try{
            
            res.setContentType("text/html;charset=gbk");
            PrintWriter pw=res.getWriter();
            pw.println("<h1>欢迎来到徐守威的主页面!</h1>");
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        
    }
}

以上三步每一步都是一个servlet,那么开发servlet有几种方法呢?详情请看这篇文章http://www.cnblogs.com/Jasxu/p/servlet.html

这里我就不在详细说了...

既然我们所需要的servlet都开发好了,那么我们需要一个配置文件web.xml文件(该文件相当于一个手续一样,表明你要去访问那个serlvet)

web.xml文件配置如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
 
  <servlet>
    <servlet-name>Login</servlet-name>
    <servlet-class>com.xushouwei.cn.Login</servlet-class>
  </servlet>
 
   <servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/login</url-pattern>
  </servlet-mapping>
 
  <servlet>
    <servlet-name>LoginCl</servlet-name>
    <servlet-class>com.xushouwei.cn.LoginCl</servlet-class>
  </servlet>
 
   <servlet-mapping>
    <servlet-name>LoginCl</servlet-name>
    <url-pattern>/loginCl</url-pattern>
  </servlet-mapping>
 
 
  <servlet>
    <servlet-name>Wel</servlet-name>
    <servlet-class>com.xushouwei.cn.Wel</servlet-class>
  </servlet>
 
   <servlet-mapping>
    <servlet-name>Wel</servlet-name>
    <url-pattern>/wel</url-pattern>
  </servlet-mapping>

</web-app>


以上步骤完成后,编译一下各个java文件生成.class文件类型,下面我们就可以把以上文件部署到tomcat服务器中进行测试了,目录结构如下

好了,部署好以后我们直接启动tomcat并在浏览器输入:http://localhost:8080/myWebSite/login

验证即可...

以上就是完全利用servlet进行用户验证并进行页面跳转而开发的一个使用入门型的servlet入门案例!






版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【JavaWeb-15】Struts2环境配置、入门案例、执行流程、package、action、result详解

1、Struts2的历史在此不多说,它是Apache和别人共同开发的,下载的话,可以去Apache的官网。它是用来管理MVC的,也就是项目的表现层。它怎么来管理呢,核心控制器是一个过滤器,所以我们需要...

javaWeb入门<1>Servlet+Jsp+JavaBean实现MVC开发模式登陆注册实例详解

Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP...
  • xiu2016
  • xiu2016
  • 2016年10月18日 15:16
  • 1427

浅谈TCP/IP协议栈(一)入门知识

说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋。 万事开头难,然...

MVC模型和JavaWeb模型入门_简单的注册登录案例

很久没有写博客了,主要的原因还是因为懒惰…前些日子上课讲到了一个简单的注册登录案例; 虽然案例本身需求并不复杂,但因为老师将MVC的基本思想和JavaWeb的分层模型思想加入到里面,让这个小案例有了...

JavaWeb笔记_02_Servlet入门

1. HTTP Servlet基础知识    1) Servlet是一个以Java技术为基础的服务器端程序组件。用来处理Web客户端发送的请求,并作出响应。    2) Servlet没有main...
  • xczzmn
  • xczzmn
  • 2011年09月20日 22:52
  • 515

javaweb入门笔记(3)-Servlet

本文介绍servlet相关基础

JavaWeb - servlet入门/执行过程/生命周期/开发细节,url-pattern的配置,路径分类,重定向和转发,ServletConfig,ServletContext

JavaWeb - servlet入门/执行过程/生命周期/开发细节,url-pattern的配置,路径分类,重定向和转发,ServletConfig,ServletContext...

JavaWeb学习二(Servlet入门)

servlet GenericServlet HttpServlet

JavaWeb 之 Servlet入门

1.1 Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java...

javaWeb开发之控制层框架Struts2入门知识点总结

Struts2的新手入门知识点总结
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅谈JavaWEB入门必备知识之Servlet入门案例详解
举报原因:
原因补充:

(最多只允许输入30个字)