Servlet程序设计

Servlet程序设计

Java Servlet是一种使用Java编写的CGI程序

CGI:通用网关接口

与传统的 CGI不同的是,Servlet是使用一种多线程处理方式---性能较高

Servlet 中可以控制输出HTML代码,则所有HTML代码必须使用out.println():一行一行输出

WEB中使用JAVA程序必须把程序放在一个包中,package cn.mldn.lxh.servlet

JAVA文件放在WEB-INF中的classes

package cn.mldn.lxh.servlet;

import java.io.*;

//HttpServlet属于javax.servlet包下

import javax.servlet.*;

//HttpServletRequest,HttpServeltResponse放在javax.servlet.http包下

import javax.servlet.http.*;

 

public class SimpleServlet extends HttpServlet

{

       public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException

       {

              PrintWriter out= resp.getWrite();//进行实例化

              out.println("<HTML>");

              out.println("<HEAD>");

              out.println("<TITLE>THE FIRST SERVET</TITLE>");

              out.println("</HEAD>");

              out.println("<body>");

              out.println("<h1>hello body</h1>");

              out.println("</body>");

              out.println("</HTML>");

              out.close();

       }

};

JSP程序功能与Servlet功能 一致,也就意味着Servlet同样可以被外部程序所访问,就必须有一个地址,只能通过WEB映射解决

       修改web.xml文件,可以配置映射地址

//表示要使用一个Servlet

   <servlet>

   //web.xml文件内部超作用的名字

          <servlet-name>simple</servlet-name>

          Servlet程序所在的包类的名称

          <servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>

 

   </servlet>

   //Servlet 地址的映射

   <servlet-mapping>

   //web.xml文件内部起作用的名字,此名字与上面的一致

     <servlet-name>simple</servlet-name>

     //具体的映身路径,前面必须有一个/

     <url-pattern>/demo</url-pattern>

   </servlet-mapping>

执行规律在IE中输入http://localhost/虚拟地址/demo,这时会出现500错误原因是

web.xml文件还没有进行编译

1:找到classes文件夹,

              javac –d . SimpleServlet.java进行编译,会发现一些Servlet 不存在的错误

2. 编译时会提示找不到Servlet包的错误,这是因为servletJDK的扩展包,本身不在j2se包下,JDK提供的是java se,java ee包不在java se包中,需要单独配置包

3.解决:Tomcat/common/lib中的servlet-api.jar文件复制到C:/Program Files/Java/jdk1.6.0_02/jre/lib/ext文件夹下

4.用命令javac –d . **.java进行编译

找到映射文件夹<servlet-name>web.xml中的simple,由这个simple再找到与它在<servlet>中对应用的simple,再找到 真正开发的类文件也就是cn.mldn.lxh.servlet.SimpleServlet中的java类文件夹

 

tomcat编译成java

1:写好JAVA,

2: 配置好WEB-INF下的web.xml

<servlet>

       <servlet-name>simple</servlet-name>

         <servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>

       </servlet>

       <servlet-mapping>

        <servlet-name>simple</servlet-name>

        <url-pattern>/demo</url-pattern>

       </servlet-mapping>

3:编译Servlet,有时会出现找不到servlet包的问题,这是因为servletJDK的扩展包,所以必须把servlet-api.jar拷贝到JDK路径下的jre/lib/ext下再进行编译

1.     输入http://localhost/test/demo时出现了java.lang.UnsupportedClassVersionError,原因是,用了高版本的1.5以上的VM编译JAVA,运行在低版本(这里的低版本是tomcat用的JDK)上的VM,

2.      解决:tomcat用的JDK换成1.5以上VM

 

你可能感兴趣的:(Servlet程序设计)