MVC

  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
  8. 解决乱码问题
    requset.setCharacterEncoding("utf-8")
  9. 网站每个页面的头部和尾部相同,把头部代码放在一个jsp里面每次引用
  10. 客户端路径:浏览器去寻找,发起解析
    服务器路径:服务端去寻找,eg:jsp:include

    绝对路径从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 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表达式:
    取对象属性:{map.key}返回value
    取list:list l = new ArrayList ()
    l.add("kk",123,12)
    {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.
2.
3.
4.

      
          .........
      
      
          ........
      

5.循环

      ${I}
遍历集合 ${u.username}

一般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配置
  
    encodingfilter
    com.sikiedu.filter.EncodingFilter
    
      Encoding
      utf-8
    
  
  
    encodingfilter
    /*
  
  1. 监听器

你可能感兴趣的:(MVC)