MVC

作者: Claire_cc | 来源:发表于2019-05-02 18:40 被阅读0次
    1. 注解方式:编译成二进制文件,不能修改
      配置文件:发布后也可修改
    2. servlet第一次访问开启,关闭服务销毁,多次访问不会重复创建
    3. super.service()根据请求方式调相应的函数(doGet/doPost)
      get和post同种处理方式:注释掉super.service()
    4. jar包放在WEB-INF的lib里
    5. 创建Dynamic web project时可勾选generate xml(web.xml)
    6. xml里的welcome-file-list默认访问首页,从web content开始找
    7. jsp内置域对象:
      page当前页面 pageConetxt.getOut
      .getrequest
      .getservletcontext
      .getsession
      .getapplication
      .setAttribute("user","kkk",pageContext.Session)
      request<session<application
    8. 解决乱码问题
      requset.setCharacterEncoding("utf-8")
    9. 网站每个页面的头部和尾部相同,把头部代码放在一个jsp里面每次引用
      <jsp:include page="head.jsp"></..>
    10. 客户端路径:浏览器去寻找,发起解析
      服务器路径:服务端去寻找,eg:jsp:include
      <link rel="stylesheet" href="style.css" type="text/css"/>
      绝对路径从http://localhost:8080/开始找/web04/css/style.css
      <%request.getContextPath()%>获取 当前项目名(前面有斜杠)
      请求转发服务器地址不会发生变化,跳转到某个页面,该页面若用相对路径则显示不出来
      所有java代码都由服务器执行
      所以在浏览器上显示的都写绝对路径,jsp include相对
      绝对路径:
      客户端http://localhost:8080/
      服务器端http://localhost:8080/web04
    11. 单例模式
      public static JDBCUtil instance = new JDBCUtil()
      使用JDBCUtil.instance.getconnection();
      private JDBCUtil(){}
    12. MVC分层结构:model,view(jsp),controller(servlet)
      缺图!!!!!!!!!
      ps:先setAttribute再getRequestDispatcher,setAttribute不能和sendRedict连用
      request.getsession.setAttribute
      session.getAttribute
      src:(model<util<dao<service<controller<jsp)
      model:实体类user,goods:setter,getter,generator
      util:相当于数据库,实体类的集合,给集合加入新实体,static管理员
      dao:调用util,增删改查
      service:调用dao,封装方法
      controller(servlet文件):处理响应,req.setcharacterEncoding()
      步骤:调用service, setAttribute, dispatcher
      webcontent:admin管理员,index.jsp、login.jsp、register.jsp
    13. el表达式:
      取对象属性:{user.username} user类必须有getter 取map:{map.key}返回value
      取list:list<user> l = new ArrayList <user> ()
      l.add("kk",123,12)
      {l[0].username} 判断是否为空{empty list}
      ${pageContent.request.contextPath}
      session.setAttribute("123",a),page,application,request
      查找顺序request/session/application
      不能放在<% %>里面
    14. jstl表达式
      下载放入 WEB-INF的lib底下
      <%page ...%>申明底下<%@ tag lib url=".../jstl/core" prefix="c" %>
    1.<c: set var="username" value="kk" scope="request"></c:set>
    2.<c:out value="$username"></c:out>
    3.<c:remove var="username"></c:remove>
    4.<c:if test="${age>=18}"></c:if>
    <c:choose>
          <c:when test="${age>=18}">
              .........
          </c: when>
          <c:otherwise>
              ........
          </c:otherwise>
    </c:choose>
    5.循环
    <c:foreach var="I" begin="1" end="10">
          ${I}<br/>
    </c:foreach>
    遍历集合
    <c:foreach items="${list}" var="u">
    ${u.username}
    </c:foreach>
    

    一般el取数据,jstl实现if和for

    1. json
      将内存中的java bean转化成json字符串存储
      序列化JSON.toJSONString(对象) return一个string
      反序列化JSON.parseObject(str, Goods.class) return一个对象
      JSON.parseArray(s, user.class)return一个List
      16.ajax
      发起请求:不进行页面跳转,页面刷新
      js代码
    setInterval("callAjax()", 2000);
    function callAjax(){
        $.ajax({
            url:encodeURI("${pageContext.request.contextPath}/ajaxrequest?data=服务器发送的数据"),
    //发送数据给客户端+?,传递的参数有中文用encodeURI,或者
    data:{username:$("input[name]")},还有dataType等属性
            type:"get",
            cache:false,//否则只会发起一次
            success:function(msg){
                $("#msg").append(msg);
                            /*收服务器返回的数据msg
                            如果是服务器发数据
                            resp.setContentType("text/html;charset:"utf-8")
                            msg.getWritter().append("")
                            */
            }
        }); 
    }
    

    代码没写完!!!!

    1. filter的作用:过滤敏感词,中文乱码,权限问题
      @webFilter("/*")
      xml配置
      <filter>
        <filter-name>encodingfilter</filter-name>
        <filter-class>com.sikiedu.filter.EncodingFilter</filter-class>
        <init-param>
          <param-name>Encoding</param-name>
          <param-value>utf-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>encodingfilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    
    1. 监听器

    相关文章

      网友评论

          本文标题:MVC

          本文链接:https://www.haomeiwen.com/subject/tysuvqtx.html