zoukankan      html  css  js  c++  java
  • java:LeakFilling(JSP,servlet,Ajax,Json,Path)

    1. request.setAttribute("test", "测试");      

      request.getRequestDispatcher("/index.jsp").forward(request,response);

       请求转发传递参数时只能使用request传递,不能使用重定向,因为response不能传递参数,但可以手动地址栏进行值传递  ,

        例如:

      response.sendRedirect(request.getContextPath()+"/index.jsp?type=checked&name=zhangsan");

    2. <a class="button border-main" href="books.sxt?type=selectBooksById&id=${book.id }">

      JSP文件内,EL表达式必须写双引号内,否则无效!

                

    3.   Filter的注解配置:@WebFilter(filterName = "encodingFilter", urlPatterns = "/*")   后面没有分号

       Servlet 的注解配置: @WebServlet("/custom.sxt")

    4.  chain.doFilter(request,response)一般出现一次,可以出现在任何地方

    5.  Dao.Impl:

    public class BooksDaoImpl extends BaseDao implements IBooksDao {
    
        @Override
        public List<BooksVo> selectAllBooks(String bookTypeId) {
            String sql=null;
            
            List<BooksVo> list=new ArrayList<BooksVo>();
            if(bookTypeId!=null){
                sql="select b.*,b2.booktypename from books b inner join books_order b2 on  b.booktypeid=b2.id where b.booktypeid=?";
                String[] params={bookTypeId};    
                ResultSet rs=super.execQuery(sql, params); 
            }else{
                sql="select b.*,b2.booktypename from books b inner join books_order b2 on  b.booktypeid=b2.id";
                String[] params={bookTypeId};    
                ResultSet rs=super.execQuery(sql, null); //此处若参数bookTypeId=null,必须将调用方法的参数设置为null,否则空指针错误
            }
            try {
                while(rs.next()){
                    BooksVo b=new BooksVo();
                    b.setBookName(rs.getString("bookname"));
                    b.setBookPrice(rs.getDouble("bookprice"));
                    b.setBookTypeId(rs.getString("booktypeid"));
                    b.setBookTypeName(rs.getString("booktypename"));
                    b.setDescription(rs.getString("description"));
                    b.setId(rs.getString("id"));
                    list.add(b);
                    
                }
                
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return list;
        }

    6.  Ajax:$.get()/post() 两种请求传递方式

    7.  Json: 是一个对象,不是字符串(其实是一个字符串形式的对象)

          当使用Ajax时,Servlet页面必须用    (response.getWriter.print(new Gson().toJson(传参) ) )     

         print方法会将任何类型的对象转换为字符串的形式,除了 toJson()后的,因为toJson()方法已经将Json转换为字符串的形式,并以String接收,不会再进行第二次转换,但是它并不是字符串,外部没有双引号。  

    8.<script></script>标签内不可以写EL表达式

    9. append 方法是在标签内部拼加   如:  <h1>  这里拼加 </h1> 

    10.DIY 使用重定向response可以将post请求方式改变为get,反之不能(即默认为get请求方式)。

       使用请求转发request,客户端请求是什么方式就是什么方式

    11.逻辑删除:

      将数据库中额外添加一列,例如:is_delete  默认为0,如果逻辑删除就该为1,查找显示为0的数据即可

    12.Integer的初始化值是Null

    13.运算时尽量不要出现多种类型,否则容易出现转换异常,(例如:double类型转字符串,再利用Integer.parseIn方法转int 容易出现转换异常)

    14.   类名:首字母大写

      方法名,变量名:首字母小写,驼峰命名

      包名:全小写

    15.Filter的url-pattern配置一样的话,它的访问顺序是按照名字排的先后顺序

    16.substring(包括,不包括)

    17.Ajax原理:

      A.XMLHttpRequest  发送异步请求:

        

        原理:

          客户端无需等待服务器端响应,可以继续进行其他操作,服务器处理完成后调用回调函数进行展现。

        优点:

          1.改良了用户体验;

          2.实现了局部刷新。

      B.传统请求(同步):

      

        原理:

          客户端发送请求和服务器响应间,用户需要等待服务器进行响应,在等待的过程中体验相对比较差。

  • 相关阅读:
    arclinux安装报错unknown trust
    linux微型主机服务器配置
    spring data jpa + hibernate
    又纠结activiti
    comet4j
    shiro纠结之旅
    ubuntu更改jdk版本的问题
    struts上传
    java实现四则运算
    6 个重构方法可帮你提升 80% 的代码质量(转)
  • 原文地址:https://www.cnblogs.com/kuangzhisen/p/7270495.html
Copyright © 2011-2022 走看看