Servlet程序设计
2008年4月2日
Java Servlet是一种使用Java编写的CGI程序
- CGI:通用网关接口
- 与传统的CGI不同,Servlet是一种多线程处理模式–性能较高
- 在Servlet中可以控制输出HTML代码,则所有的HTML代码必须使用out.println()一行一行输出
Servlet的生命周期
- 初始化(1次)
- public void init(ServletiConfig config) throws ServletException
Servlet初始化有两种方式- init():当不需要传递初始化参数时使用
- init(ServletConfig config) :如果使用这种初始化方法,则上面的无参初始化方法无效,这种方式适用于需要传递初始化参数
- public void init(ServletiConfig config) throws ServletException
- 服务(多次)
- doGet();表单和地址输入都为GET请求
- doPost(); 只有表单输入为POST请求
- 销毁(1次)
- 服务器关闭
- 此Servlet长时间不使用
简单Servlet编写
- Servlet直接继承直HttpServlet
- 在doPost(doGet)方法中写入相应的程序代码
- 配置WEB.XML文件
- JSP程序的功能与Servlet一致,意味着Servlet程序同样可以被外部所访问,就必须有一个地址,这只能通过WEB映射解决
- 修改web.xml文件可以配置映射地址
//表示要使用一个Servlet
<servlet> //在web.xml文件内部起作用的名字 </servlet><servlet -name>Simple</servlet> //servlet程序所在包.类名称 <servlet -class>net.hialex.Servlet.SimpleServlet</servlet> //servlet映射地址 <servlet -mapping> //在web.xml文件内部起作用的名字,与上面的名字一致 </servlet><servlet -name>Simple</servlet> //具体映射路径,前面必须要有一个/ <url -pattern>/demo</url>
- 修改web.xml文件可以配置映射地址
- JSP程序的功能与Servlet一致,意味着Servlet程序同样可以被外部所访问,就必须有一个地址,这只能通过WEB映射解决
- 注意:
- 在编译servlet时可能会遇到找不到servlet包的问题,这是因为servlet为JDK的扩展包,所以在使用时需要指定classpath
- 若不指定classpath可以将servlet.jar文件拷贝到JSK安装路径下的jre\lib\ext下
- 结论:在Tomcat中,存在servlet的全部库文件(%Tomcat_HOME%\lib\servlet-api.jar)
HttpServlet类
- 继承自GenericServlet类并增加了doGet()、doPost()等七个方法
- doGet()方法:当客户端发送get请求时就调用doGet()方法,HTTP缺省的就是Get
- doPost()方法:当客户端发送HTTP请求调用POST方法调用doPost()方法
对于一个基本的Servlet程序必须注意以下几点:
- 首先一定要符合Servlet程序的开发框架
- 配置web.xml文件
- Servlet的缺点是不适合输出大量的HTML代码


最新评论