Servlet编程技术

来源:互联网 发布:打谱软件 西贝柳斯 编辑:程序博客网 时间:2024/06/06 09:17

Servlet是一个标准的纯Java类,只不过该类是HttpServlet类的一个子类,因此Servlet(即Java类)的对象可以使用或重写HttpServlet类中的所有方法

一.创建Servlet

     步骤如下:New---Servlet---取一个Servlet类名---next---一般将Servlet/JspMapping URL设置为:/Servlet类名(其他地方不需要修改)---finish

     注意:1.一般将所有写好的Servlet类以包的形式保存,并且将这个包存放在Web路径下的src目录下;从而当某个Servlet类被编译时,就会自动在"Web工程名/web-inf/classes"目录下产生一个与其对应的.class文件,并且该.classes文件也是以包的形式存放,包名与存放Servlet类的包名同名

             2.web.xml文件中的两个重要标记

                  <servlet>

                       <servlet-name>Servlet类名</servlet-name>

                       <servlet-class>Servlet类经过编译后的.class文件名(必须带上包名)</servlet-class>

                  </servlet>

                  <servlet-mapping>

                       <servlet-name>Servlet类名</servlet-name>

                       <url-pattern>servlet页面被加载时的地址</url-pattern>

                  </servlet-mapping>

              3.编译后的Servlet只被装载一次,因此当源程序重新编译后,需要重启Tomcat服务器

              4.Servlet类的修饰符必须为public

              5.由于Servlet中写的全部是纯Java代码,因此要在Servlet中调用Html或Jsp或JavaScript代码时,必须将他们都写在out.println(......)中   

              6.在Servlet类中获取out对象的方法:PrintWriter out=response.getWriter();

              7.在Servlet中调用对象session时,要首先声明session,即用session所属的类HttpSession来对它进行定义,即:

                 HttpSession session=request.getSession();

 

二.Servlet对象常用的方法

     1.public void init(ServletConfig config) throws ServletException

          服务器初始化Servlet

          一旦某个Servlet被初始化后,它将被保存在内存中;因此该方法只需要被调用一次以后,Servlet就可以被多次调用

     2.public void service(HttpServletRequest request,HttpServletResponse response) throws

        ServletException,IOException

          每当用户需要加载某个Servlet页面时,该方法就会被调用执行

          request:用来封装用户的请求信息

          response:用来响应用户的请求

          在该方法中要实现的功能也可以在doGet()或doPost()中实现

     3.public destroy()

          该方法用于消灭某个Servlet对象

     4.protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

        与

        protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

          这两个方法的功能与service方法的功能相同,一般只要把具体逻辑放在doGet和doPost方法的任一个中,然后在另一个方法里

          调用这个方法即可,也就是说这两个方法中的逻辑功能都是相同的

 

三.Servlet,Jsp,Html页面之间的跳转

     1.Servlet页面---Jsp页面或Html页面

          A.要设置从Servlet页面跳转到哪个Jsp页面或Html页面,必须在Servlet类的doGet或doPost方法中加入以下语句:

              getServletConfig().getServletContext().getRequestDispatcher("/Html或Jsp页面文件中").forward(HttpServletRequest request,HttpServletResponse response);

              也可以通过JavaScript中的window.location.href="./Html或Jsp页面地址"实现

          B.在Html页面文件中不能获取Servlet或Jsp页面文件中的某个表单控件或对象的值;但是,Jsp页面文件或Servlet页面文件中可以互相获取

     2.Jsp页面或Html页面---Servlet页面

          此时Jsp文件或Html文件的表单中的action应为Servlet页面的加载地址,即web.xml文件中的<url-pattern>值

          格式:action="地址名"或"./地址名"

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我和暴君有个崽 荒野求生我靠传播非遗爆红全世界 肆意难撩 女尊之夫郎他娇软又呆萌 穿书后,小茶精在疯批怀里撒娇 拯救六界从谈恋爱开始 重生后前世宿敌说要养我 她的沙雕又暴露了 在虐文里绑定了男主系统 我在末世成了领主大人 玄学老祖上综艺后轰动全球了 我继承了老公的神位 仵作掌中娇 世子爷她不可能是女的 穿进红楼后,我成了人生赢家 假死后夫人她称霸黑莲界 奶萌小团宠她觉醒了种田系统 巨星的大佬青梅 总裁的小撩精又生气了 开荒种田:农门辣妻有空间 签到后,小白花她在娱乐圈翻红了 江月照 魂飞魄散的上古大仙在修真界诈尸 快穿:大佬她又抢了反派剧本 夫人她总想逃 穿成阴戾反派未来嫂嫂 上神大人他偏甜系啊 咸鱼后妈带崽在综艺当对照组 系统BUG让我成了舔包专业户 快穿:系统有的是力气和手段 当我的霸总老公有了读心术 穿成炮灰渣妻后我和反派开农场 前任小姐姐帅又飒 弄潮1990从厂长开始 光阴之外 心动侵占 重回逃荒开端,手握空间来逆袭 重生之网红教父 蛮荒求生:反派大佬被迫种田 玄学大佬在星际重建地府 总裁又惹火夫人了