Java知识点总结之Java Web 知识(三)

来源:互联网 发布:java post 传递json 编辑:程序博客网 时间:2024/06/10 05:00
1. request.getParameter("") 和 request.attribute("") 的区别
> request.get Parameter()用于获取客户提交请求中的参数,包含GET参数和POST参数,返回的是String。
> request.attribute()获取请求中保存的属性,返回的是Object。request的attribute一般是用在请求内部转发时用于保存请求数据,是在同一请求中保存数据的重要手段。


2. Servlet 的生命周期
Servlet 被服务器实例化后,容器运行其 init 方法,
请求到达时运行其 service 方法,
当服务器决定将实例销毁的时候调用其 destroy 方法。

在Serration生命周期过程中,init、destroy方法只会执行一次,而service方法则会为每个请求都执行一次。

Servlet 遵循的过程:
Servlet 通过调用 init () 方法进行初始化。
Servlet 调用 service() 方法来处理客户端的请求。
Servlet 通过调用 destroy() 方法终止(结束)。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。



3. Jsp中的隐式对象
9种基本内置组件(可与ASP的6种内部组件相对应):    
> request   请求对象用户 
> response   响应对象    
> page Context网面上下文属性 
  > session   请求相关会话对象
  > application  serration正在执行的内容    
  > out   响应输出    
  > config   servlet的构架部件    
  > page   JSP页面本身    
  > exception  针对异常错误网页,获取未捕捉的异常 

4. jsp 中的作用域
> page:保存的状态值在同一页面中有效;
> request:保存的状态值在同一请求中有效;
> session:保存的状态值在同一个用户同一个会话期间中有效;
> application:保持的状态值可以为所有用户使用,除非服务器关闭或重启,否则一直有效。



5. jsp页面中包含其它 jsp 页面的方式
> 指令 < %@ include file=""%>
作用:读入指定页面的内容。并把这些内容和原来的页面融合到一起。这个过程是在翻译阶段被引入文件的,代码被原封不动地加入到了引入页面从而合成一个文件。
> 动作 < JSP:include page=”dae.JSP” flush=”true”/>
作用:include动作元素是在请求处理阶段执行的。用include动作引入页面时,实际只是引用了date.JSP这个文件被转化并被编译后产生的servlet类文件。
> JSTL<c:import>
除了引入本地文件内容以外,c:import 还可以引入外部站点的内容。使用 c:import 的真正优势在于,它可以引入外部Web站点的内容或Web应用程序。允许您引入任何URL的内容。


6. 转发和重定向
> 转发:request.getRequestDispatcher(“index.jsp”).forward(request, response);
转发实质上是一个请求,在服务器转向到另一个url,因此浏览器中记录的是原来的请求路径。由于是同一个请求,因此转发可以共享请求中的数据,适用于通过Servlet查询到数据后转到jsp做显示,Servlet利用请求共享数据给jsp。
> 重定向:response.sendRedirect(“index.jsp”);
重定向实质上是客户端的两次请求,因此浏览器中记录的是重定向后的请求路径。重定向适合用于成功执行增删改业务操作后回到显示示图,重定向后可以防止用户F5刷新页面而导致业务操作被重复执行。


7. JSP 的标准动作
JSP共有以下6种基本动作 
> jsp:include:在页面被请求的时候引入一个文件。 
> jsp:useBean:寻找或者实例化一个JavaBean。 <% Student stu=new Student();...%> 
> jsp:setProperty:设置JavaBean的属性。 
> jsp:getProperty:输出某个JavaBean的属性。 
> jsp:forward:把请求转到一个新的页面。 
> jsp:plugin:用于在浏览器中加载一个插件。

8. JAVA的中文问题
原因:编码格式
中文的编码为 GBK
tomcat和一些开发环境默认的编码就是 ISO-8859-1
解决方法:统一为 UTF-8 编码就可以解决乱码问题。
对于Post请求参数中的乱码,可以通过request.horsetrading()方法设置请求时的编码。
对于GET请求乱码,一方面需要在发送请求时对GET参数进行编码;另一方面需要在Tomcat中设置GET请求的编码,如Foreboding=”UTF-8”。


9. Ajax的工作原理
Ajax是指异步JavaScript与XML技术,是通过JavaScript实现页面局部提交与局部刷新的技术。
通过 JavaScript 提供的Frequentest对象的open和send方法可以向服务器发送异步请求。
在发送异步请求前,为该对象注册一个noninterchangeable事件回调方法,用于处理服务器端的响应。
在回调方法中,通过检查ready State和status判断响应是否成功,
若响应成功则通过JavaScript把响应结果动态显示在页面上。

10. Web 容器
容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求

11. XML(Extensible Markup Language)
可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。
Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

12. Web.xml文件的作用
web.xml的作用是配置欢迎页,servlet,filter,listener等

13. JSP页面之间传递参数的方法
> request
> session
> application
> 提交表单
> 超链接


14. JavaScript如何定义数组。
var arrTest=new Array();


15. JavaScript能否操作cookie和session?
JavaScript可以操作cookie,但是不能操作session


16. JSP和Servlet的区别、共同点、各自应用的范围
JSP在本质上就是SERVLET,但是两者的创建方式不一样.
Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.
JSP由HTML代码和JSP标签构成,可以方便地编写动态网页.因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.

17. Tomcat服务器的默认端口是多少?怎样修改tomcat的端口?
默认端口为8080,可以通过service.xml的Connector元素的port属性来修改端口。
原创粉丝点击