A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JDBC


模糊查询时,用整个?代替条件:
        String sql="select * from user where nickname like ?";
        pstmt=conn.prepareStatement(sql);
        pstmt.setString(1,"%小%");
        rs.getXXX(String columnName)
        columnName默认是表的字段名,如果取了别名用别名.

事务:核心步骤
                1.conn.setAutoCommit(false);
                2.conn.commit();
                3.conn.rollback();
        核心思想:
        业务逻辑操作使用同一个Collection对象.
BeanHandler:
        1.当表字段和bean字段对应不上的时候,采用表字段取别名的方式匹配封装.
        2.使用默认的构造方法.如果非要重载构造方法,记得把无参构造加上.
        3.bean中真正操作字段的是get/set方法.
ScalarHandler:返回值类型为long.

XML

XML解析方式:
        1.DOM:一次性将整个文档加载到内存,进行树形结构解析.
                缺点:如果文档特别大,容易导致内存溢出
                优点:对XML进行增删改的操作
        2.SAX:事件驱动方式,一行一行进行解析.
                缺点:不能对文档进行增删改的操作
                优点:如果文档特别大,不会导致内存溢出
        针对这两种解析方式提供了DOM4J,JDOM等API.
       
        dom4j的XPath支持的API:
                List document.selectNodes(String xPath);
                Node document.selectSingleNode(String xPath);
XML的约束的种类及区别:
        DTD和Schema:
                1.DTD语法是自成一体的,Schema语法就是XML的语法.
                2.Schema的语法就是XML的语法,所以更容易被解析器解析.
                3.Schema支持名称空间
                4.Schema有比DTD更加强大的语义和语法的约束.
        parse:解析

Tomcat和Servlet

C/S架构:(Client/Server)客户端/服务器,安装在PC端
        优点:效果炫,部分代码写到客户端,速度快.
        缺点:服务器端更新,客户端更新
B/S架构:(Browser/Server)浏览器/服务器,需要浏览器
        优点:服务端更新,客户端浏览器不需要更新
        缺点:效果不炫,所有代码都运行在服务器端,服务器压力大.
                解决办法:1.效果:使用HTML5,CSS3可以做出很炫的效果
                2.服务器端压力:搭建服务器的集群,AJAX技术.
Tomcat目录结构:
        bin:执行文件
        conf:配置文件
        lib:运行需要的jar包
        logs:日志文件
        temp:临时文件
        webapps:发布的web项目
        work:class文件,JSP翻译成的servlet类的class文件
发布web项目到tomcat中的方法:
        1.将工程复制到webapps目录
        2.配置tomcat/conf/sever.xml文件,在<Host>标签下配置:
                <Context path="/aaa" docBase="项目路径"/>
        3.在tomcat/conf/Catalina/localhost/aaa.xml配置:
                <Context docBase="项目路径"/>
                aaa为虚拟路径的名称.
Tomcat常见问题:
        tomcat一闪消失
                没有配置JAVA_HOME环境变量
        端口号冲突
                1.通过任务管理器,将占用端口的应用结束.
                2.修改自身应用的端口号,tomcat/conf/server.xml
HTTP协议请求:
        1.get/post的区别:get提交的参数显示到地址栏,在请求行中地址后面;post提交的参数在请求体重.
        2.get有大小限制,post没有
        3.get没有请求体,post有
        常见请求头:
                User-Agent:浏览器的类型. 用于文件下载:下载中文文件:IE使用URLEncodor进行编码,而Firefox使用Base64编码.
        Referer:网页来源. 用于防盗链.
                If-Modified-Since:与响应头Last-Modified一起使用查找本地缓存.
HTTP协议响应:
        常见状态码:
                200:成功
                302:重定向(结合location响应头使用)
                304:查找本地缓存
                404:路径错误;资源真的不存在
                500:服务器内部错误(代码写错了)
        常见响应头:
                Location:结合302做重定向
                Content-Disposition:文件下载的时候用
                Refresh:定时刷新
Servlet访问规则:Http://ip:port/projectName/地址串
        如果要访问一个servlet,这个地址串跟web.xml中配置的url-pattern有关系
       
        String request.getParameter(String name)
        String[] request.getParameterValues(String name);
        Map<Strnig,String[]> request.getParameterMap();
       
        WEB_INF下的文件不能直接访问.
        servlet生成的class文件在tomcat项目中webapps下的WEB_INF文件加下.

servlet

Servlet生命周期.
        当用户第一次访问servlet时,服务器创建servlet执行init方法.
        任何一次访问都会创建新的线程访问service()方法,在service()方法中根据请求方式的不同调用不同的doXxx()方法.
        当关闭服务器时servlet被销毁执行destroy()方法.
        在整个servlet生命周期过程中,service有且仅有一个.是单例的.
       
*有一些资源初始化很耗时,这就需要在web.xml配置对其进行配置(放到服务器启动的时候),进行程序优化.
        比如servlet第一次初始化时很费事,需要在<servlet></servlet>配置<load-on-startup>2</load-on-startup>传入整数越小,被创建的优先级越高.
       
配置方式访问规则:完全路径>目录>扩展名.
        完全路径匹配:以/开头        /aaa
        目录匹配:以/开头,以*结尾        /aa/*
        扩展名匹配:不能以/开头,以*开头        *.do *.action

路径问题:
        相对路径:不能以/开始
        绝对路径:以/开始,
                客户端路径:/项目名/资源
                服务器端路径:/资源(用于资源间转发和重定向)

response用法:               
        setHeader(String name,String value);针对一个key对应一个value的响应头.
                setDateHeader(String name,long date);
                setIntHeader(String name,int value);
        setStates(302):重定向
        refresh:配合setHeader完成定时页面跳转,例如:setHeader("refresh","5;url=路径");
       
        setContentType("text/html;charset=utf-8");
ServletContext:
        1.作为域对象存取数据
                范围:整个web工程
                服务器启动时,tomcat为每个web项目创建一个单独ServletContext对象.
                服务器关闭时,或项目被移除时,该对象被销毁.
        2.用来读取web项目下的文件.
       
        3.用来获得全局初始化参数
        4.用来获得文件的MIME类型
       
        F5进入该行方法,F6运行下一行,F8调到下一个断点.

request和response

        web项目不要写相对路径.Tomcat启动路径是在bin目录下,相对于bin目录.
        src下的文件用绝对路径        /WEB-INF/classes/文件名
ServletContext读取文件的方法:
1.文件下载:
        getResourceAsStream()返回inputStream 直接装载到prop
        getRealPath()返回字符串 再new FileInputStream()装载到prop
       
        在非servlet文件中读取web项目的文件,用类加载器.
                类.class.getClassLoadder().getResourceAsStream("文件名")        返回值inputStream
                类加载器的文件路径是在classes目录下
               
        设置浏览器编码:
                response.setHeader("Content-Type","text/html;charset=utf-8")
2.读取全局变量       
        getInitParameter(String name)
        getInitParameterNames()
3.获取MIME类型
        getMimeType(String file)
4.域对象存取数据
        setAttribute()
        getAttribute()
        removeAttribute()
       
response:
        setStatus()
        setHeader()
        getOutputStream()
        getWriter()
       
request:
        1.获得客户机信息:
                getMethod()
                getRequestURI()
                getRequestURL()
                getRemoteAddr()
                getContextPath()
        2.获得页面提交的参数
                getParameter()
                getParameterMap()
                getParameterNames()
                getParameterValues()
        3.域对象存取数据
                setAttribute()
                getAttribute()
                removeAttribute()
               
重定向和转发的区别(redirect和forward的区别):
        1.地址栏
        2.响应次数
        3.路径(前者加工程名,后者不用加)
        4.访问范围(后者这能访问项目)
       
        request.getRequestDispatcher("不写项目名的路径").forword(request,response);
        response.sendRedirect("绝对路径");

Cookie

常用API:
        getName()
        getValue()
        setDomain(String domain)
        setPath(String path)
        setMaxAge(int age)单位是秒
       
Cookie存取中文问题:
        通过URLEncoder和URLDecoder完成.
        存中文:
                String value=URLEncoder.encode("中文","utf-8");
                Cookie cookie=new Cookie("aa",value);
                response.addCookie(cookie);
               
        取中文:
                Cookie[] cookies=request.getCookies();
                Cookie aa=CookieUtils.findCookie(cookies,"aa");
                if(aa!=null){
                        String value=aa.getValue();
                        String a =URLDecoder.decode(value,"utf-8");
                }
       
销毁Cookie:
        会话级别:关闭浏览器,Cookie就会被销毁
        持久级别:销毁
                Cookie cookie=new Cookie("lastVisit",null);
                cookie.setPath("/day11");
                cookie.setMaxAge(0);
                response.addCookie(cookie);

session

        jsp中导包:alt+/
        在web.xml配置session过期时间:默认为分钟
                <session-config>
                        <session-timeout>5</session-timeout>
                </session-config>
               
获得session:
        request.getSession();
创建:第一次调用getSession时创建
销毁:
        1.默认30分钟session失效
        2.非正常关闭服务器.正常关闭session序列化到硬盘,开启后又会加载到服务器.
        3.调用session.invalidate()
       
作用范围:多次请求(一次会话)

EL

功能:
        1.获取四个域对象中的数据
                ${pageScope.name}
                ${requestScope.name}
                ${sessionScope.name}
                ${application.name}
        2.执行运算
        3.操作web开发中的对象
                pageScope,requestScope,sessionScope,application        JSP中域数据.
                param,paramValues        接受参数
                header,headerValues        获取请求头信息
                initParam        获取全局初始化参数
                cookie        获取cookie
                        ${cookie.名字.value}获取cookie
                pageContext        web开发中pageContext
                        ${pageContext.request.contextPath}获取工程路径
        4.调用java方法
       
有特殊符号用[]调用参数.

<c:forEach var="" begin="" end="" step="" varStatus="aaa">  aaa.count存放的个数 aaa.Index存放的索引.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马