Java web学习(一)

  1. 什么是jsp?

    在html代码中嵌入Java代码片段和jsp标签,构成jsp网页,在接收到用户请求是,服务器会处理Java代码片段,然后将生成处理结果的HTML页面返回给客户端,客户端的浏览器将呈现最终页面效果,

  2. jsp技术特征:1)跨平台;2)业务代码锋利;3)组件重用;4)继承Java servlet功能;5)预编译。

  3. jsp基本构成:jsp页面主要由指令标签,HTML标记语言,注释,嵌入Java代码,jsp动作标签等5个元素组成。

    1)指令标签:主要由3个:page、include,taglib。

    格式:<%@ 命令 属性名=属性值,...>

    page指令包括属性:language、extends、import、pageEncoding、contentType、session、buffer、autoFlush、info、isErrorPage、errorPage、isELIgnored。

    pageEncoding="utf-8"用来当前jsp页面的编码格式;

    contentType="y=text/html;charset=utf-8"用来设置jsp页面的mime类型和字符编码。浏览器会根据此来显示网页内容。

    include指令:静态包含。file属性

    taglib指令:用于加载用户自定义标签。<%@ taglib prefix="c" uri="...">

    2)嵌入Java代码:代码片段<%   %>,声明<%!  %> 表达式<%= %>

    3)jsp动作标签:<jsp:include page=""/><jsp:forward page=""/><jsp:param name="" value=""/>

  4. jsp内置对象:共有九个request,response.session,apllication,page,pageContext,out,config,exception

    1)request对象

    HttpServletRequest对象,有以下几个方法:

    ①获取请求参数值:request.getParameter(name)

    ②解决中文乱码

    name=URLEncoder.encode(param);
    String param = new String(request.getParameter(param).getBytes("iso-8859-1"),"gbk");

    ③获取Form表单的信息

    对于文本元素,单选按钮,下拉列表框都可以使用getParameter方法来获取选定的内容,但对于复选框以及多选下拉框就要使用getParameterValues(name)方法来获取,返回一个字符串数组

    ④获取请求客户端信息:getHeader(name), getMethod(), getContextPath(), ...

    ⑤在作用域中管理属性:setAttribute()、getAttribute()、removeAttribute(),作用域为一次请求。

    ⑥cookie管理

    cookie是小段的文本信息,通过使用cookie可以表示用户身份,记录用户名及密码,跟踪重复用户。cookie在服务器端生成并发送给浏览器。

    Cookie myCook = new Cookie("key","value");
    myCook.setMaxAge(60*60*24);
    response.addCookie(myCook);
    
    
    客户端:
    Cookie[] cook= request.getCookies();
    if(cook!= null){
        for(Cookie c:cook){
          if(c.getName().equals("key")){
           info= c.getValue();
          }
        }
    }

    2)response对象:

    方法有:addHeader()、setHeader()、addCookie()、sendError()、sendRedirect()、getOutputStream()。

    3)session对象

    ①在session中也可以创建属性,与request中相同,但作用域范围是一次对话中有效

    ②销毁session:session.invalidate();

    ③会话超时的管理:session.setMaxInactiveInterval(time)

    4)application对象:ServletContext对象,可将信息保存在服务器中,知道服务器关闭

    5)out:向浏览器输出信息

    6)pageContext对象:取得任何范围的参数

    7)config:读取web.xml配置信息

    8)page对象:代表jsp本身,在jsp页面内是合法的。相当与this指针。

  5. servlet

    servlet是运行在web应用服务器上的Java程序,可以对web浏览器发送的请求进行处理。servlet对象的运行需要servlet容器的支持

    ①servlet的生命周期,由容器进行管理:

    在web容器启动或客户机第一次请求服务时,容器将加载servlet类,并将其放到servlet实例池;

    当servlet实例化后,容器将调用init方法完成servlet的初始化操作;

    容器通过servlet对象的service方法处理客户端请求;

    在web容器关闭时,容器调用destroy()对资源进行释放。servlet对象将被垃圾回收器回收。

    ②servlet可以在web.xml中配置name,class,url-pattern。而在servlet3.0中提供了注解来配置servlet,极大的简化了servlet的配置。

           @WebServlet("/TestServlet")

  6. Filter:servlet过滤器是客户端与目标资源间的中间层组件,用于拦截客户端的请求与响应信息。当web容器接受到一个客户端请求时,将判断此请求是否与过滤器对象相关联,如果相关联,则将请求交给过滤器处理,过滤器可以更改请求中的数据信息,处理完成后,再将这一请求交给其他业务进行处理。在对客户端响应时,容器又将请求交给过滤器进行处理,处理过后将响应发送到客户端。

    ①Filter API:Filter接口有init、doFilter、destroy方法

    FilterChain接口只有一个方法dofilter;

    FilterConfig接口:获取过滤器初始化期间的参数信息。

    Filter的配置与servlet基本一致。dispatcher有4种选择:request、forward、include、error。

你可能感兴趣的:(Java web学习(一))