JavaWeb - Kuangcp/Note GitHub Wiki
目录 start
目录 end|2020-04-27 23:42|
对象 | 说明 | 类型 | 作用域 |
---|---|---|---|
request | 请求对象 | 类型 javax.servlet.ServletRequest | 作用域 Request |
response | 响应对象 | 类型 javax.servlet.SrvletResponse | 作用域 Page |
pageContext | 页面上下文对象 | 类型 javax.servlet.jsp.PageContext | 作用域 Page |
session | 会话对象 | 类型 javax.servlet.http.HttpSession | 作用域 Session |
application | 应用程序对象 | 类型 javax.servlet.ServletContext | 作用域 Application |
out | 输出对象 | 类型 javax.servlet.jsp.JspWriter | 作用域 Page |
config | 配置对象 | 类型 javax.servlet.ServletConfig | 作用域 Page |
page | 页面对象 | 类型 javax.lang.Object | 作用域 Page |
exception | 例外对象 | 类型 javax.lang.Throwable | 作用域 page |
域 | 说明 |
---|---|
application | 在所有应用程序中有效 |
session | 在当前会话中有效 |
request | 在当前请求中有效 |
page | 在当前页面有效 |
- MVC设计模式:
- M
- hibernarte (相应操作的SQL语句由Hibernate框架生成)
- mybatis(SQL用户根据需要去写的)
- JPA 和Hibernate是相同的内核,由Hibernate派生而来
- C
- struts1.x
- struts2.x
- springmvc
- spring 模块的整合
- V: 视图层
- M
-
再度理解 Dao service模式的概念
- dao : 基础单笔业务的功能模块
- service : 将单个的dao组合一起,得到复杂的业务逻辑
- 如果要实现AOP或者规范化,dao和service分别要有接口的存在(为了多态,代理,严谨)
如何做Etag缓存
- 自定义了EtagCache注解
- 通过拦截器判断带EtagCache注解的Controller
- 通过Spring Data Jpa自带的乐观锁 version, 针对每个资源就可以做到EtagCache
- 将其值放在http的header中
- 还有另一种做法就是 自己针对内容进行hash code编码
- 1、JSP页面上的SQL标签以及EL标签是优先于文件头的那些JavaServlet语句运行的,所以要保证非法进入页面时重定向的问题
- 2、如果想要获取异常来据此返回参数到页面弹窗提示,那么就要对一层层的方法调用,进行查找,所有的try catch 块 都要检查
- 因为一般我的习惯就是把异常当场就处理了,而要实现这个要求就必须将异常层层上抛!!!!
-
3、中文乱码问题:
-
接收
- 使用get方法,需要转换成gbk :
newString(s.getBytes("ISO-88511-1","gbk");
- post方法需要转换成UTF-8
- 使用get方法,需要转换成gbk :
- 回应 均使用UTF-8
-
接收
-
4、查询数据: 使用set集合,查询对象是否存在,使用contians
-
5、Servlet 是单例多线程的
-
6、eclipse中将java项目转成web项目
- 经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目,有过很多次经历,今天也有同事遇到类似问题,就把这个解决方法记下来吧,免得以后再到处去搜索。
-
解决步骤:
- 1、进入项目目录,可看到.project文件,打开。
- 2、找到
<natures>...</natures>
代码段。 - 3、在第2步的代码段中加入如下标签内容并保存:
<nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
- 4、在eclipse的项目上点右键,刷新项目。
- 5、在项目上点右键,进入属性(properties)
- 6、在左侧列表项目中点击选择“Project Facets”,在右侧选择“Dynamic Web Module”和"Java",点击OK保存即可。