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.传统请求(同步):

原理:
客户端发送请求和服务器响应间,用户需要等待服务器进行响应,在等待的过程中体验相对比较差。
java:LeakFilling(JSP,servlet,Ajax,Json,Path)的更多相关文章
- java:LeakFilling(struts2)
1.mvc: 目的: 将展现和业务相分离. Model1:JSP+JavaBean Model2:MVC(JSP+Servlet+JavaBean) 优点: A.各司其职,互不干涉 B.有利于分工协作 ...
- java:LeakFilling(Servlet,JSP)
1.web-inf中的 .jsp 文件不会运行,其他都根据web.xml文档中的自然顺序进行运行 2.keep-alive 长连接(持续) UDP,TCP短连接 3.状态码:1(消息异常) 2(成 ...
- Java Web开发(JSP、Servlet)乱码的一揽子解决方案
千万不要看网上那些杂七杂八的解决乱码的文章,解决乱码最好的方法是(没有之一):在所有地方统一采用UTF-8编码. 这其中包括: 1 - 工程 如果使用的是Eclipse,那么打开Preference, ...
- java:LeakFilling(Other)
1.Java项目的API文档如何生成?请将步骤写出. javadoc 源文件名.java; 2.增加package以后,我们在DOS下编译怎么做? javac -d . Test.java 3.Jav ...
- java:LeakFilling(Hibernate)
1.关系型数据库: Oracle / Mysql 数据持久化的技术: IO JDBC XML ... 主流的持久层框架: Hibernate mybatis---->apache产品 JPA( ...
- java:LeakFilling(面向对象)
1.类的修饰符只能是:public,默认的.另外:final ,abstract,(修饰符 (只有:public, 默认,)interface+类名 ). 2.在main函数中创建对象时,new哪个 ...
- java:LeakFilling(Spring)
1.配置文件总结: bean节点: id:用户自定义名称,用于标识当前对象,可以通过getBean(String id)从容器中获取该对象. class:要交给spring容器创建的对象的全类名(包名 ...
- java:LeakFilling(JS,JQ)
1.<a href="javascript:void(0)" onclick="dele();"> a标签不使用链接的时候,必须加javascrip ...
- java:LeakFilling(Springmvc)
1.后台可以同时多个对象接收前端页面的值:(如图两个都打印了) 2.参数绑定的注解,通过该注解可以解决参数名称与controller中形参名称不一致的问题: @RequestParam(name=&q ...
随机推荐
- zencart安全辅助小脚本
在includes/application_top.php最后一行加入require('fish.php'); 将下面代码保存为fish.php <?php function customErr ...
- CodeForces - 1209F Koala and Notebook(拆边+BFS)
题意:给定一个n个点m条边的无向图,边权分别为1-m,从起点1出发,每经过一条边就把边权以字符串的形式加入末尾,求到达其他每个点的最小字符串(长度不同的短的更小,否则字典序小的更小). 思路很巧妙,将 ...
- Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器
[文章作者:张宴 本文版本:v6.3 最后修改:2010.07.26 转载请注明原文链接:http://blog.zyan.cc/nginx_php_v6/] 前言:本文是我撰写的关于搭建“Nginx ...
- CNN简略总结
https://blog.csdn.net/real_myth/article/details/51824193 池化层的作用: 感受野变化...?? 1*1卷积核的作用 1. 实现跨通道的交互和信息 ...
- 使用jmeter+ant+jenkins实现接口自动化测试
摘自:https://blog.51cto.com/6183574/2318519 本次使用linux环境搭建自动化框架 一.配置ANT 首先下载Ant压缩包,下载地址:http://ant.apac ...
- 一次linux站点安装经验
之前了解了一点,刚过完年回来,顺便研究了一下小程序. http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=84 先申请了一个li ...
- cordova打包项目下载gradle失败
在使用cordova打包项目的时候有时会因为网络环境原因导致下载gradle失败的情况,个人找到两种解决方案. 方案一: 根据报错的提示选择要下载的gradle去浏览器中下载,然后将gradle压缩包 ...
- 51 Nod 不重叠的线段
#include<bits/stdc++.h> #define in(X) scanf("%d",&X) #define out(X) printf(" ...
- 论文阅读:FlowBlaze: Stateful Packet Processing in Hardware
摘要: 尽管可编程NIC可以提供更好的可扩展性以处理不断增长的网络工作量,但为硬件中的有状态网络功能编程提供表达能力却又简单的抽象仍然是一项研究挑战. 我们使用FlowBlaze解决了这个问题,Flo ...
- vue路由 routers的写法:require用与不用
vue路由的写法有很多种,这里我只说routers的写法,一种是compcomponent后面直接写路径,另一种是用require的方式,来看代码 import Vue from 'vue' impo ...