jsp+servlet总结:
1 html/css/js
(jquery/angulajs/jquery easy ui/bootstrap/extjs/react)
2 tomcat & http
Tomcat属于web 服务器(注意JAVA_HOME环境变量)
Http :请求和响应
Get:提交数据放在url里面,针对隐私数据,安全性不好
传输的数据大小有限制,不能超过4Kb
Post:提交的数据放在请求体中,提交的数据没有大小限制
3 Servlet
生命周期,web.xml中
HttpServletRequest
Get:getQueryString
Post:通过request对象的输入流得到
URLDecoder处理中文乱码
通用方式:getParameter
注意中文乱码问题:get :new String(str.getBytes(“iso-8859-1”,“utf8”);
Post:request.setCharacterEncoding(“utf8”)
HttpServletResponse
中文乱码:
response.setContentType(“text/html;charset=utf8”)
资源跳转的两种方式:
重定向:response.sendRedirect
url内容会变(通过浏览器发送新的请求)
不能共享request域中数据
通过重定向,可以跳转到其他应用的资源
转发:
request.getRequestDispatcher(“XXX”).forward(request,response)
url不会改变
可以共享request域中数据
只能在本应用资源中进行跳转
4 jsp
通过jsp实现页面和业务逻辑的分离
Jsp本质上也是servlet
Html+java,但是,尽量少在jsp中写java代码
Jsp脚本:<% %>
Jsp表达式:<%= %>
Jsp声明:<%! %> 声明方法、变量等内容
九大内置对象
四个域对象:application/session/request/pageContext
El表达式:${表达式} ,获取数据
用的最大的内置对象:pageContext
JSTL标签:
导入两个jar包
在jsp中通过<%@taglib uri=”***”prefix=”c”>引入jstl标签
5 会话技术:
Cookie:数据保存在浏览器端
删除cookie:将有效时间设置0(记得response.addCookie(X))
Session:数据保存在服务端
依赖于cookie,会将sessionid以cookie的方法存放在浏览器端。默认,会话结束,JSESSIONID删除
删除session:session.invalidate()
6 Filter
过滤器,在访问资源之前,会先进入filter。针对很多资源的重复操作,可以放在filter中,如中文乱码的解决,登录权限的判断等
配置需要过滤的资源
7 Listener
监听器,监听特定对象的创建、销毁、属性的变化
主要针对ServletContext、HttpSession、ServletRequest
8文件的上传下载
上传:method=”post”enctype=”multipart/form-data”
使用apache提供的fileupload组件
下载:需要注意中文名的问题,名称添加到响应头之前,需要进行url编码
设置响应头:response.setHeader("content-disposition","attachment;fileName="+fileName);