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 ...
随机推荐
- Linux VPS 常用重启命令
重启vps:reboot CentOS重启ssh:/etc/init.d/sshd restart Debian/Ubuntu重启ssh:/etc/init.d/ssh restart 重启Lnmp: ...
- python出现Non-ASCII character '\xe6' in file statistics.py on line 19, but no encoding declared错误
可按照错误建议网址查看http://www.python.org/peps/pep-0263.html 发现是因为Python在默认状态下不支持源文件中的编码所致.解决方案有如下三种: 一.在文件头部 ...
- CVE漏洞分析
分析cve-2018-9489漏洞和download content provider(CVE-2018-9468, CVE-2018-9493, CVE-2018-9546), 每人至少选择一个漏洞 ...
- 〇一——body内标签之交互输入标签一
今天来搞一下body内的input标签 在一般的网页中,我们经常会遇到一些交互界面,比如注册.登录.评论等环境.在这些交互界面里最常使用的就是input标签. 一.input标签基本使用 input标 ...
- k8spod生命周期
pod对象自从创建开始至终止退出的时间范围称为生命周期,在这段时间中,pod会处于多种不同的状态,并执行一些操作:其中,创建主容器为必须的操作,其他可选的操作还包括运行初始化容器(init conta ...
- LINUX装机问题:无法使用“Ctrl+Alt+[F1~F6]”快捷键切换到终端
用VMware装LINUX虚拟机之后,你会发现在X Window的登陆界面无法使用“Ctrl+Alt+[F1~F6]”快捷键切换到终端,这是因为VMware默认的快捷键也是Ctrl+Alt,所以你只需 ...
- linux7buffer和cache
现象:作为hdfs集群的主节点,越来越卡 排查:CPU,mem CPU正常,检查内存情况,发现如下 如上截图:发现程序可用内存为91G,但是部分swap分区被占用.于是引出如下思考,free -h这条 ...
- 在github新建一个项目里需要哪些文件及作用
1.README.md文件 关于项目的介绍和使用方法. 2. .gitignore文件 上传项目时不需要传的文件,最常用的就是“node_modules/",如下: 详细的介绍可以去git ...
- oracle 循环的一种写法
for v_n in( select bb.temNum, bb.LOANTYPE from (select decode(bns.assignstate, '{016D68F9-719B-4EFC- ...
- JavaEE体系架构
转载于:https://www.cnblogs.com/reverseAC/p/8512379.html JavaEE知识体系结构图 JavaEE体系结构图: 认识JavaEE完整体系架构(转载):作 ...