浅谈servlet

---------关于servlet中的乱码问题-----------------

解决POST乱码问题,因为POST是在请求体中可以获取数据,所以解决对应的POST用request,setCharaterEncoding("UTF-8");

解决GET乱码问题,因为GET是在请求行上发送数据,所以解决对应的GET设置tomcat安装目录中的conf下server.xml文件中connector这段话加个URIEncoding="UTF-8"

万能解决POST和GET问题,这个方法不常用:

String username=request.getParameter("username");//这里的username是在html的表单中获取的用户名

username.get(bytes,"");

bytes[] byte=new bytes[];

????万能的需要学习下

设置浏览器的编码方式用request.setContextType("text/html;charset=UTF-8");

将浏览器和worksapce以及设置都统一为UTF-8

-------关于servlet线程安全问题----------------------

servlet属于单例多线程环境

其中哪些有线程安全问题?

1.多线程环境

2.有共享数据

3.共享数据中有修改操作

对于servlet中的:

1.可以使用局部变量不使用实例变量

2.必须使用实例变量,可以将单例变多例

3.必须使用实例变量和单例,用synchronize机制 synchronize(this){//将代码放到这里}这里并不是很好的同步解决安全的方法

 

-----------转发和重定向---------------------

其中转发和重定向的区别:

1.转发是一次请求,重定向式2次请求

2.转发是项目之间的资源跳转,重定向式可以跨项目的资源跳转

3.转发是用户点击超链接之后还是那个地址,重定向用户点击超链接之前的链接和点击之后的链接不一样

4.转发可以获取到setAttribute中getAttribute数据,而重定向是获取为空

5.转发是request.getRequestDispacther("/跳转的路径地址").forward("request,response");

6.重定向是response.sendDirect("/路径");

 

 

-----其中对于断点------

断点问题:位置不同 则结果不同

posted @ 2019-03-05 14:40  超重语言  阅读(173)  评论(0编辑  收藏  举报