servlet小总结2 在JCreator下需要配置的servlet

1  jsp=html+java片段+jsp语法+javascript

Jsp优势:

1一次编写,到处运行

2良好的跨平台性(基于java

3多种开放工具支持

4强大的可伸缩性(jsp+javabean)的方式

Jsp的不足:

1jsp产品的复杂度高(jsp入门比asp难)

2jsp要求运行的机器配置要求高,因为jsp是用class常驻内存的方式运行的,效率高,但是需要占用更多的内存

 

2  1servletjava服务器小程序)是用java编写的服务器程序,它的特点:

1它是由服务器端调用和执行的

2它是用java语言编写的

3它是按照Servlet规范开发的

4功能强大,可以完成几乎所有的网站功能

5是学习jsp的基础

 

 

3servlet开发流程

(1)       在你安装的tomcatwebapps下建立自己的应用(文件夹,例如myWebsite),在此文件夹下建立文件夹WEB-INF,在此文件夹中建立如下:classes子文件夹,lib子文件夹,web.xml文本(写该网站的配置信息)

(2)       开发servlet程序(需要引入servlet-api.jar,JCreator开发的话,引入它,configure下的options,找到你安装的jdk-à,编辑--àadd-àarchive-à到你安装的tomcatcommon文件夹中的lib文件夹中的servlet-api.jar)

(3)       web.xml中部署servlet,添加相应代码

例如<servlet>

                        <!--给你的servlet取名,任意-->

        <servlet-name>hello</servlet-name>

                            <!--指明servlet的路径,即(包名+类名)-->

        <servlet-class>com.ly.Hello</servlet-class>

    </servlet>

 

    <servlet-mapping>

                        <!--给你的servlet取名,任意-->

        <servlet-name>hello</servlet-name>

                            <!--这是在浏览器中输入的访问该servleturl,名是任意的  -->

        <url-pattern>/sp</url-pattern>

    </servlet-mapping>

(4)启动tomcat访问你的servlet,在浏览器的地址栏中输入:

http//127.0.01:8080/myWebSite/hello(此为你在web.xml中配置的servleturl)

回车就可看到servlet的输出

 注意: 127.0.0.1是服务器所在的ip,也是换成localhost,如果要访问别的tomcat,应换成与之对应的ip

8080是端口号,要根据实际情况而定

 

4学习了开发servlet的三种方法,分别用(1实现servlet接口,2继承GenericServert ,只需要重写service方法,相对简单一点 3继承HttpServlet,需要重写doGetdoPost方法)这三种方法实现servlet,使该servlet完成一个简单的功能,即向浏览器回送

Helloworld

第一种:实现servlet接口

编写程序hello.java如下

package com.ly;

 

import javax.servlet.*;

import java.io.*;

import javax.servlet.Servlet;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import java.io.IOException;

 

public class Hello implements Servlet{

               /**

                * Method init

                *

                *

                * @param parm1

                *

                @throws ServletException

                *

                */

                //该函数用于初始化该servlet

                //该函数只会被调用一次,当用户第一次访问该servlet时被调用

               public void init(ServletConfig parm1) throws ServletException {

                   // TODO: Add your code here

                   System.out.println("init it");

               }

 

               /**

                * Method getServletConfig

                *

                *

                * @return

                *

                */

               public ServletConfig getServletConfig() {

                   // TODO: Add your code here

                   return null;

               }

 

               /**

                * Method service

                *

                *

                * @param parm1

                * @param parm2

                *

                @throws ServletException

                @throws IOException

                *

                */

                //这个函数用于处理业务逻辑

                //程序员应该把业务逻辑写在这里

                //当用户每访问该servlet时都会被调用

                //req  用于获得客户端的信息

                //res  用于向客户端(因为是b/s结构,所以为浏览器)返回信息

               public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {

                   // TODO: Add your code here

                   //res不能直接返回,需从res中得到PrintWriter

 

 

 

 

 

                   PrintWriter pw=res.getWriter();

                   pw.println("hello,world");

 

               }

 

               /**

                * Method getServletInfo

                *

                *

                * @return

                *

                */

               public String getServletInfo() {

                   // TODO: Add your code here

                   return "";

               }

 

               /**

                * Method destroy

                *

                *

                */

                //销毁servlet实例(释放内存)

                //有三种情况下会调用它,1reload servletwabApps2关闭tomcat 3关机

               public void destroy() {

 

                   // TODO: Add your code here

                   System.out.println("destroy!");

               }

 

 

 

 

               }

 

对应在web.xml下配置如下

 

<servlet>

       <!--给你的servlet取名,任意-->

        <servlet-name>hello</servlet-name>

              <!--指明servlet的路径,即(包名+类名)-->

        <servlet-class>com.ly.Hello</servlet-class>

    </servlet>

 

    <servlet-mapping>

       <!--给你的servlet取名,任意,但注意需要与上面你起的servlet名一致,一样-->

        <servlet-name>hello</servlet-name>

              <!--这是在浏览器中输入的访问该servleturl,名是任意的  -->

        <url-pattern>/ly</url-pattern>

</servlet-mapping>

 

第二种:继承GenericServer

程序HelloGen.java如下:

//这是第二种开发servlet的方法(通过继承GenericServlet开发)

package com.ly;

 

 

import javax.servlet.GenericServlet;

 

import javax.servlet.*;

 

import java.io.*;

 

public class HelloGen extends GenericServlet{

       //重写service方法即可

       public void service(ServletRequest req,ServletResponse res){

                        //返回hello,world!generic

            try {

 

                 PrintWriter pw=res.getWriter();

                 pw.println("hello,world!generic");

 

}

catch (Exception ex) {

                   //想控制台打印错误信息

       ex.printStackTrace();

}

 

 

 

              }

 

       }

 

 

同样在对应的web.xml中配置如下:

<servlet>

       <!--给你的servlet取名,任意-->

        <servlet-name>hellogen</servlet-name>

              <!--指明servlet的路径,即(包名+类名)-->

        <servlet-class>com.ly.HelloGen</servlet-class>

    </servlet>

 

    <servlet-mapping>

       <!--给你的servlet取名,任意-->

        <servlet-name>hellogen</servlet-name>

              <!--这是在浏览器中输入的访问该servleturl,名是任意的  -->

        <url-pattern>/hellogen</url-pattern>

    </servlet-mapping>

 

 

第三种:继承HttpServlet,需要重写doGetdoPost方法

程序HelloHttp.Java如下:

//这是第三种开发servlet的方法(通过继承HttpServlet,重写doGet

doPost方法)

package com.ly;

 

import javax.servlet.http.*;

import java.io.*;

 

 

public class HelloHttp extends HttpServlet{

       //处理get请求

        //req  用于获得客户端的信息

        //res  用于向客户端(因为是b/s结构,所以为浏览器)返回

信息

       public void doGet(HttpServletRequest req,HttpServletResponse

res){

              //业务逻辑

              try {

                     PrintWriter pw=res.getWriter();

                     pw.println("hello,http");

 

 

}

catch (Exception ex) {

       ex.printStackTrace();

}

 

 

              }

 

    //处理post请求

     //req  用于获得客户端的信息

        //res  用于向客户端(因为是b/s结构,所以为浏览器)返回

信息

             public void doPost(HttpServletRequest

req,HttpServletResponse res){

 

              this.doGet(req,res);

 

              }

 

       }

 

 

同样相应在web.xml中配置如下:

<servlet>

       <!--给你的servlet取名,任意-->

        <servlet-name>hellohttp</servlet-name>

              <!--指明servlet的路径,即(包名+类名)-->

        <servlet-class>com.ly.HelloHttp</servlet-class>

    </servlet>

 

    <servlet-mapping>

       <!--给你的servlet取名,任意-->

        <servlet-name>hellohttp</servlet-name>

              <!--这是在浏览器中输入的访问该servleturl,名是任意的  -->

        <url-pattern>/hellohttp</url-pattern>

    </servlet-mapping>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值