继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java Servlet 编程重中之重!!!

彼岸誰在
关注TA
已关注
手记 6
粉丝 17
获赞 425

一:Servlet

1.Servlet的定义:Servlet(Server Applet)-全称Java Servlet,是用Java编写的服务器端程序。

      其主要功能在于交互式地浏览和修改数据,生成动态Web内容。

    Servlet是100%运行在服务器端,为客户端请求作出响应的纯java应用程序。

2.实现方法:

    写一个java类,让该类继承自HTTPServlet类,并实现doGet和doPost方法。

3.主要作用:

    (1).实现web相应式交互

    (2).提供http协议接口 

    (3).可以做MVC模式中的控制层

4.生命周期:

     * Servlet 通过调用 init () 方法进行初始化。

         * Servlet 调用 service() 方法来处理客户端的请求。

         * Servlet 通过调用 destroy() 方法终止(结束)。

        最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

5.Servlet三要素:

     *.必须继承自HttpServlet

         *.必须实现doGet()或者doPost()

         *.必须在web.xml中配置Servlet

6.Servlet 处理表单数据:

         * getParameter():调用 request.getParameter() 方法来获取表单参数的值。

         * getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。

    例:favourites=request.getParameterValues("favourite");

         * getParameterNames():如果要得到当前请求中的所有参数的完整列表,则调用该方法。

7.   * HttpServeltRrequest:请求对象

         * getParameter():获得表单元素的值

         * getAttribute():获得request范围中的属性值

         * setAttribute():设置reqeust范围中的属性值

         * setCharacterEncoding():设置字符编码

         * HttpSerletResponse:相应对象

         * sendRedirect():外部跳转

         * getWriter():获得输出流对象

         * setContentType("text/html; charset=utf-8"):设置相应内容格式和编码

二:乱码问题的解决:

       1.返回浏览器显示的乱码

      response.setContentType(“text/html;charset=utf-8”);

          response. setCharacterEncoding(“UTF-8”);   ---优先级高

       2.超链接时出现乱码(和get方式提交时乱码的解决一样)

      String stuname= MyUtil.getNewString(request.getParameter("stuname"));

       3.客户端的Post请求:

      request. setCharacterEncoding(“UTF-8”);

       4.客户端的get请求:

      String  stuname = request.getParameter("stuname");

          String str = new String(stuname.getBytes("ISO-8859-1"),"utf-8");

三.Servlet与jsp的区别:

   1.编译运行方面:
               Jsp:

                    Jsp 经过web容器生成*jsp.java文件(HttpServlet的孙类,只生成一次),然后再将该java文件编译成class文件;

               Servlet:

                   自定义的Servlet程序,直接继承httpServlet,直接编译成class文件,访问速度要比jsp要快.

   2.响应速度方面:

        Jsp经过动态编译后,第一次访问时速度很慢,以后访问速度会有提高;起步就慢与Servlet。

                    从最终的编译文件来看,同样的程序要是在jsp里面运行,生成的执行代码要比纯java编写的Servlet程序要多,

                    所以响应速度要慢与Servlet。

   3.实现方式区别:

            两者的创建方式不一样.Servlet完全是JAVA程序代码构成,通过映射来访问资源。

            擅长于流程控制和事务处理而通过Servlet

                    来生成动态网页;JSP由HTML代码和JSP标签构成,可以方便地编写动态网页

       ***  请求方式servlet比jsp更灵活;servlet更适合做控制层。jsp适合做展现层。

   四.配置文件(web.xml):

    <servlet>

        <servlet-name>ServletName</servlet-name>  //servlet的名称,可任意命名

        <servlet-class>org.apche.servlet</servlet-class>           //servlet的完全限定名,是完整的类路径

            </servlet>

        <servlet-mapping>

        <servlet-name>ServletName</servlet-name>

        <url-pattern>/ServletName</url-pattern>   //必须以"/"开头,以表示上下文环境的根目录。

    </servlet-mapping>
打开App,阅读手记
33人推荐
发表评论
随时随地看视频慕课网APP

热门评论

新的web3.0以上,已经不需要配置servlet的xml映射了,只需要在servlet文件类名上方通过注解加上匹配即可。

查看全部评论