码迷,mamicode.com
首页 > 编程语言 > 详细

java   web servelt

时间:2016-07-22 23:18:30      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:my frist

验证码:

1. 长度为5;从“A-Z;0-9.”中选取。

注册:

    

    用户填写表单(用户名,真实姓名,密码,性别),服务器端按照如下流程进行处理:

first:先检验验证码是否正确。不正确,提示用户。

 1.检查用户名是否存在,如果存在,提示用户。不然进行下一步。

2.将用户提交的信息插入数据库,然后跳转到登陆页面。

    2.过滤器


   (1)什么是过滤器?

          servlet规范当中定义的一种组件;用来拦截容器的调用过程。

  (2)如何写一个过滤器?

    a .写一个java类,实现Filter接口。

    b.在doFilter方法里实现拦截处理逻辑。

    c.配置过滤器(web.xml).

    (3)过滤器的优先级

    当有多个过滤器都满足过滤条件

则容器依据<filter-mapping>的先后顺序来调用过滤器。


练习:

    写一个过滤器,检查评论的字数,如果超过20个;评论长度字数过多。

(4)过滤器初始化参数

      a.配置初始化参数

      b.读取

    FilterConfig.getInitParamter("");

(5)过滤器的优点。

  a.在不修改原代码的基础上,增加新的功能。

  b.可以将多个组件相同的处理逻辑集中写在过滤器里,方便代码维护。

    监听器:

        (1)什么是监听器?

servlet规范当中定义的一种特俗的组件,用来监听容器产生的事件;

注:

 主要两大类事件

1)生命周期相关的事件:

   容器创建或者销毁了request,session,servlet上下文产生的事件。

在线人数。

2)绑定数据相关的事件:

  容器条用了request,session,servlet上下文的setAttribute,

removeAttribute方法。

  (2)什么是servlet上下文?

容器启动之后会为每个web应用创建唯一的一个符合ServletContext接口要求的对象。

  特点:

 a.唯一性

一个web应用,对应一个上下文;

 b.持久性   只要应用不被卸载,容器不被关闭就一直存在。

2) 如何获得servlet上下文。

GenericServlet,ServletConfig,FilterConfig,HttpSession

都提供了getServletContext方法。

 3)servlet上下文的作用

    a.绑定到上下文的数据,会一直存在。

      request<session<Servlet上下文。

   b.绑定到上下文的数据可以被所有用户共享.

   c.可以用上下文访问全局的初始化参数。

访问全局的初始化参数:

      1.配置:<Context-param><param-name><param-value>

2.访问:ServletContext.getInitParameter();



    如何写一个监听器?

1.写一个java类,依据要监听的事件类型实现相应的接口:

2.在监听器接口方法中,实现监听处理逻辑。

3.注册(web.xml)

         统计在线人数.

    1.HttpSessionListener

2.ServletContentListener

3ServletRequestListener

          2.线程安全问题

(1)为什么说Servlet会有线程安全问题?

    a.容器在默认情况下,对于一个类型的servlet,只会创建一个实例。

    b.容器收到请求之后,会启动一个线程来处理该请求。

       比如:有多个请求访问同一个servlet,则会有多个线程调用servlet对象的service方法。

有可能出现线程安全问题(比如,这些线程要修改servlet的属性)。

(2)如何解决

a.方式一:使用synchronized对有线程安全问题的代码枷锁。

b.让servlet实现SingleThreadModel接口。(不建议使用)

   标示接口      注:容器会为实现了该接口的servlet创建多个实例(一个线程分配一个实例)。

         Servlet知识小结:

(1)servlet基础:a.什么是servlet?b.如何写一个servlet?c.如何运行的?d.http协议(了解)e.什么是servlet容器?

(2)servlet核心:a.servlet输出中文b.表单包含中文参数如何处理c.如何获得请求参数值  String[]  request.getParameterValues(String paramName);

?interest=cooking&interest=snoking.

d.容器如何处理请求资源路径。e.如何将多个servlet合并成一个。

f.转发和重定向。g.servlet的生命周期h.servlet上下文。i.servlet线程安全问题。

(3)状态管理

1.什么是状态管理

2.cookie

a.什么是cookie?

b.如何添加cookie?

c.添加cookie的注意事项:编码问题,生存时间,路径问题。

d.读取cookie

cookie的限制

3.session

什么是session?

如何获得?

session的几个常用方法

session超时

删除session

 (4)数据库访问

a.使用jdbc访问数据库。

使用dao访问数据库。

(5)过滤器一监听器

a.什么是过滤器

如何写一个过滤器?

过滤器的优先级

初始化参数

过滤器的优点

什么是监听器

如何写。

(6)典型案例

  a.员工管理

  b.登陆和session验证

c.验证码

            JSP

1.jsp

    是如何运行的?

a.容器将jsp转换成servlet类。

html(css,js)--->service方法里面用out.write输出

<%  %>--->

java代码?

<%!声明一个变量或方法%>

为新的成员变量或者成员方法。

       3.隐含对象?

为什么可以直接使用隐含对象?

有哪些隐含对象?

    out,request,response,session,application,

pageContext,     exception,config,page.

page   (jsp实例本身)。

pageContext

a.容器会为每一个jsp实例创建一个唯一符合PageContext接口要求的对象。该对象会一直存在(除非jsp实例被删)

pageContext的作用

   a.作用1:绑定数据(绑定到pageContext上下文的数据,只有对应的jsp实例能访问)

   作用2:提供了一些方法用来获得其他所有的隐含对象。


exception   

     用来获得jsp在运行过程中产生的异常信息。


config

     servletConfig 对象


     指令

什么是指令?

有哪些指令?

page指令,include指令,taglib指令。   jsp标签。

page指令的属性

import:导包

pageEncoding

contentType

errorPage属性:指定一个异常处理页面。

当jsp运行时产生异常,调用该属性指定的页面。

isErrorPage属性:true/false缺省当值为true时,可以使用exception隐含对象。

session属性:true/false

当值为false,容器不再添加获得session对象的代码(即不能使用session隐含对象。).

include指令

      file属性:将file属性指定的文件的内容插入到指令所在位置。


注释:

  1)<!--注释的内容 -->

    <%--注释的内容--%>


注:如果注释内容是java代码,则第一种注释中java代码会执行。

-------------------------------------------------------------------------





java   web servelt

标签:my frist

原文地址:http://pjaly.blog.51cto.com/11880795/1828943

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!