Servlet技术是Sun公司提供的一种实现**页的解决方案,它是基于Java编程语言的WEB服务器端编程技术。
Servlet技术也是Jsp技术的基础。
一个Servlet程序就是一个实现了特殊接口的Java类,它由支持Servlet(具有Servlet引擎)的WEB服务器调用和启动运行。一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,并接收客户端的访问请求信息和产生响应内容。
Applet是用于浏览器的Java小程序,Servlet是用于WEB服务器端的Java小程序。
Servlet程序可以完成普通Java程序所能完成的大多数任务:
1.获取客户端通过HTML的FORM表单提交的数据和URL后面的参数信息
2.创建对客户端的响应信息内容
3.访问服务器端的文件系统
4.连接数据库并开发基于数据库的应用
5.调用其他的JAVA类

Servlet的注册与运行
Servlet程序必须通过Servlet引擎来启动运行,并且储存目录有特殊要求,通常需要存储在<WEB 应用程序目录>/WEB-INF/classes/目录中。
Servlet程序必须在WEB应用程序的web.xml文件中进行注册和映射其访问路径,才可以被Servlet引擎加载和被外界访问。
一个<servlet>元素用于注册一个Servlet,它包含有两个主要的子元素:<servlet-name>和<servlet-mapping>,分别用于设置Servlet的注册名称和Servlet的完整类名。
一个<servlet-mapping>元素用于映射一个已经注册的Servlet的一个对外访问路径,它包含有两个字元素:<servlet-name>和<url-name>,分别用于指定Servlet的注册名称和对外访问路径。

<servlet>
     <servlet-name>AnyName</servlet-name>
     <servlet-class>wyf.TestServlet</servlet-class>//用于注册的完整类名
  </servlet>
  <servlet-mapping>
     <servlet-name>AnyName</servlet-name>
     <url-pattern>/test/WYF/AA</url-pattern>//路径名,用于URL地址输入,严格区分大小写的。
  </servlet-mapping>
同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name >子元素的设置值可以是同一个Servlet的注册名

实例:

1、先创建web project,项目名为RegisterSystem,

2、在WebRoot 目录下创建login.jsp文件,只需修改body中的内容,如下所示:

<body>

<form action="login">

username:<input type="text" name="username"><br>

password:<input type="password" name="pwd"><br>

<input type="submit">

</form>

</body>

3、在scr目录下的com.ht.servlet编写AcountBean.java文件,代码如下:

package com.ht.servlet;

public class AccountBean {

private String username = "";

private String password = "";

public String getPassword() {   return password;  }

public void setPassword(String password) {   this.password = password;  }

public String getUsername() {   return username;  }

public void setUsername(String username) {   this.username = username;  } }

4、在scr目录下的com.ht.servlet编写servlet类CheckAccount.java文件,代码如下:

package com.ht.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class CheckAccount extends HttpServlet {

@Override  protected void doPost(HttpServletRequest req, HttpServletResponse resp)    throws ServletException, IOException {   doGet(req,resp);  }

@Override  public void doGet(HttpServletRequest req, HttpServletResponse resp)    throws ServletException, IOException {   HttpSession session = req.getSession();

AccountBean account = new AccountBean();

String username = req.getParameter("username");   

String pwd = req.getParameter("pwd");

account.setPassword(pwd);   

account.setUsername(username);

if((username != null)&&(username.trim().equals("jsp"))) {    if((pwd != null)&&(pwd.trim().equals("1"))) {     System.out.println("success");

session.setAttribute("account", account);

String login_suc = "success.jsp";

resp.sendRedirect(login_suc);     return;    }   }

String login_fail = "fail.jsp";

resp.sendRedirect(login_fail);   return;  }   }

5、在WebRoot目录下编写success.jsp文件 成功后跳转

<body>     <%     AccountBean account = (AccountBean)session.getAttribute("account");     %>     username:<%= account.getUsername()%>      <br>      password:<%= account.getPassword() %>   </body>

6、在WebRoot目录下编写fail.jsp文件 失败后跳转

<body>    Login Failed! <br>   </body>

7、修改web.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"  xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<welcome-file-list>

<welcome-file>login.jsp</welcome-file>

</welcome-file-list>

<servlet>

<description>This is the description of my J2EE component</description>

<display-name>This is the display name of my J2EE component</display-name>

<servlet-name>CheckAccount</servlet-name>

<servlet-class>com.ht.servlet.CheckAccount</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>CheckAccount</servlet-name>

<url-pattern>/login</url-pattern>

</servlet-mapping>

</web-app>

 
 
 
 

[0] JAVABEAN & JAVASERVLET的更多相关文章

  1. Java EE开发平台随手记1

    过完春节以来,一直在负责搭建公司的新Java EE开发平台,所谓新平台,其实并不是什么新技术,不过是将目前业界较为流行的框架整合在一起,做一些简单的封装和扩展,让开发人员更加易用. 和之前负责具体的项 ...

  2. Hibernate Hql 总结

    1.from子句 Hibernate中最简单的查询语句的形式如下: from eg.Cat该子句简单的返回eg.Cat类的所有实例. 通常我们不需要使用类的全限定名, 因为 auto-import(自 ...

  3. HQL: Hibernate查询语言

    HQL: Hibernate查询语言 Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL.但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可 ...

  4. Commons JXPath - Object Graph Traversal

    JXPath 提供了使用 Xpath 语法操纵符合 Java 类命名规范的 JavaBeans 的工具.也支持 maps.DOM 和其他对象模型.对于深层次结构的 JavaBean,使用 JXPath ...

  5. hibernate hql 大全

    Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL.但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承.多态 和关联之类的概念. ...

  6. HQL语句大全

    第 15 章 HQL: Hibernate查询语言 Hibernate配备了一种很强大的查询语言,这样的语言看上去很像SQL.可是不要被语法结构 上的类似所迷惑,HQL是很有意识的被设计为全然面向对象 ...

  7. 类型:。net;问题:HQL;结果:HQL: Hibernate查询语言

    HQL: Hibernate查询语言 Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL.但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可 ...

  8. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  9. ZAM 3D 制作3D动画字幕 用于Xaml导出

    原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...

随机推荐

  1. swoole使用 常用案例

    swoole使用 服务器及客户端 4种服务器[tcp/udp/web/websocket] TCP服务器 //创建Server对象,监听 127.0.0.1:9501端口 $serv = new sw ...

  2. 极光的开源礼物「Aurora IMUI」

    今日,奉上我们拙作,仅为开源世界献出绵薄之力. Aurora IMUI,一个通用的即时通讯(IM)UI 库.不局限于任何 IM SDK. 本 UI 库提供了消息列表.输入视图等常用组件. 初心 过去的 ...

  3. OC的内存管理(二)ARC

    指针: 指向内存的地址指针变量 存放地址的变量指针变量值 变量中存放的值(地址值)指针变量指向的内存单元值 内存地址指向的值1):强指针:默认的情况下,所有的指针都是强指针,关键字strong ):弱 ...

  4. ThreadGroup详解

     ①定义线程组 ThreadGroup类中有 2个构造方法,它们用来定义线程组.这 2个构造方法的使用格 式如下: public ThreadGroup(String name); public Th ...

  5. Java 程序员快速上手 Kotlin 11 招

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:霍丙乾 近经常会收到一些 "用 Kotlin 怎么写" 的问题,作为有经验的程序员, ...

  6. 【JAVAWEB学习笔记】16_session&cookie

    会话技术Cookie&Session 学习目标 案例一.记录用户的上次访问时间---cookie 案例二.实现验证码的校验----session 一.会话技术简介 1.存储客户端的状态 由一个 ...

  7. 基于TypeScript的FineUIMvc组件式开发(开头篇)

    了解FineUIMvc的都知道,FineUIMvc中采用了大量的IFrame框架,对于IFrame的优缺点网上也有很多的讨论,这里我要说它的一个优点“有助于隔离代码逻辑”,这也是FineUIMvc官网 ...

  8. Oracle 12C 新特性之 恢复表

    RMAN的表级和表分区级恢复应用场景:1.You need to recover a very small number of tables to a particular point in time ...

  9. Android官方架构组件介绍之LifeCycle

    Google 2017 I/O开发者大会于近日召开,在开发者大会上谷歌除了发布了Android O等一些新产品之外,也对Android代码的架构做出了一个官方的回应. Google 2017 I/O开 ...

  10. 微服务框架下的思维变化-OSS.Core基础思路

    如今框架两字已经烂大街了,xx公司架构设计随处可见,不过大多看个热闹,这些框架如何来的,细节又是如何思考的,相互之间的隔离依据又是什么...相信很多朋友应该依然存在自己的疑惑,特别是越来越火热的微服务 ...