hgc-ghc
Good Good Study!!! Day Day Up!!!
posts - 40,comments - 3,trackbacks - 0

Servlet—Controller

       控制器的功能“

1.       获取客户端参数(显式数据,隐式数据);

2.       调用模型层的业务方法,获取模型数据(即:业务方法返回的结果集合、boolean

3.       根据模型数据进行流程控制(可能传输数据到视图层)

       Servlet:以多线程的方式响应用户的并发请求,非线程安全。

       CGI: 通用网关接口,以多进程的方式响应用户的并发请求,被servlet所取代。

Servlet生命周期:有web容器来维护

            1、加载: web容器加载servlet(被动加载、主动加载)

                        被动加载:当用户第一次访问servlet的时候,web容器才去加载servlet,这是默认的加载方式。

                       主动加载:当web应用服务器启动的时候,由web容器主动加载servlet,而不管用户是否发出访问的请求。

                            <!—Servlet元素中添加下面的子元素,将servlet默认的被动加载改为主动加载 -->

                                    <load-on-startup>0</load-on-startup>

            2、   初始化 :容器在加载servlet后,调用init()方法,完成初始参数的设置。

            3、   服务 doService()

            4、   销毁

            5、   卸载

注:init()初始化方法和destroy()销毁方法在servlet生命周期中只能调用一次。

Http请求中经常使用的请求方式:

Get请求:1. 在浏览器地址栏中直接输入url

                2.           超链接

                3.           发送没有指定method属性的form表单

Post请求:发送method=post的表单

Post在发送表单数据时优于get方式的方面:

                1.      安全:在发送参数时,从url当中看不到参数的任何信息

                2.      速度快:将参数封装到数据行中,比get请求将参数附加到url之后快速

                3.      数据传递大小无限制

相对路径的问题:

如果相对路径在Html元素中定义(form元素中的action属性,超链接中的href属性),相对路径的 / 起始目录为从web应用服务器的监听端口号开始

http://localhost:8080

HttpServletRequest接口:

request.getParameter()

获取用户发出请求时的参数的值(获取的是这个参数的一个值)

如果request.getParameter()方法,获取一个不存在的参数值,返回为null

如果获取的参数没有提供值,返回“”空字符串

Request.setAttribute(key,Object) :在请求域对象request中绑定属性。

Request.getAttribute(key):获取属性。

注:每个请求域都有各自的request对象,在一个请求域中的所有组件都可以通过共享的request对象传值。不同的请求域拥有不用的request,request不能跨请求域传值。请求域结束,request自动失效。

中文传参数乱码问题:

        1.      对参数进行单独的字符编码转换

                            String zh_name = new String(name.getBytes("iso-8859-1"),"utf-8");

        2.      对以post方式传递的参数统一进行字符编码转化

                            request.setCharacterEncoding("utf-8");

        3.      采取过滤器来进行字符编码转换(将系统中公共的行为在过滤器中统一实现,避免在具体的控制器编写大量的重复的代码)

posted on 2012-10-26 09:05 宏才 阅读(195) 评论(0)  编辑  收藏 所属分类: servlet

只有注册用户登录后才能发表评论。


网站导航: