1.1 写出一个 servelet 程序
1.2 写出一个 Jsp程序
1.3 编译一个 Servlet 程序
1.4 打包一个Servlets 和 Jsps程序
1.5 构建一个部署描述器
1.1 写出一个 servelet 程序
问题
你想写一个servlet作为一个web应用程序
解决方案
写一个java class 从 javax.servlet.http.HttpServlet.继续。首先必须倒入一个类包servlet.jar。你将需要里面的类库来编译这个servlet程序。
讨论
一个servlet程序就是一个java类,用于响应客户端通过网络请求的动态内容。假如你熟悉(CGI)程序,那么java技术的servlets完全能取代CGI程序。通常称为一个web 组件,一个servlet 程序在一个运行环境执行将被提供一个servles容器比如 tomcat和bea weblogic.
注释一个web容器能够被
Servlets被安装在一个web容器中作为一个web应用程序的一部分。这个应用程序将包含 WEB资源。像HTML页面,图片,多媒体片断,servlets, jsps,xml 配置文件,java运行类和类库当一个web应用程序部署到一个web容器里,这个容器将产生和装载这个java servlet类的实例到JVM去处理对于servlet的请求。
所有的servlet继续 javax.servlet.Servlet接口。开发Web应用的程序员非凡的写了一个servlet
继续于javax.servlet.http.HttpServlet,一个抽象类实现了Servlet接口并且它是非凡为处理HTTP请求设计的。
当一个web容器产生一个servlet实例时,它的基本顺序如下
1、 servlet容器首先调用这个servlet的init()方法,它建会初始化一个资源给servlet使用。列如一个logger。这个init()方法在整个servlet的生存周期只会被调用一次。
2、 init()方法初始化了一个对象,对象继续了java.servlet.ServletConfig接口。这个对象使servlet能够初始化那些被声明在部署描述符的参数。ServletConfig也使servlet有权使用一个 javax.servlet.ServletContext 的对象,用这个对象servlet可以记录信息,分派请求到其他的web组件上并且能够使用在同一个应用上的其他web资源。
3、 servlet容器调用这个servlet的service()方法去响应servlet的一些请求。根据HttpServlets,service()自动的调用合适的HTTP方法去处理请求通过调用servlet的doGet()或者doPost()方法。几个例子,用户发送了个Post请求这时servlet通过doPost()方法的执行来响应这个请求。
4、 当调用两个主要的HttpServlet的doPost(),doGet()方法,这个servlet容器将产生javax..servlet.http.HttpServletRequest和HttpServletResponse 的对象并且把它们作为参数传到这些处理请求的方法中。
http://www.knowsky.com/
5、 治理一个servlet的生命周期,或者决定这个servlet实例对request请求的处理,在java虚拟机上的存在时间。当一个servlet容器开始移除一个servlet的时候将调用servlet的destroy()方法,在这个方法中能够释放所有的资源,比如一个数据库连接。
Example A typical HttpServlet
package com.mydev;
import java.io.IOException; import java.io.PrintWriter;
import java.util.Enumeration; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//必须继续HttpServlet接口
public class FirstServlet extends HttpServlet ...{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException ...{
//set the MIME type of the response, "text/html"
response.setContentType("text/html");
//use a PrintWriter to send text data to the client who has requested the
//servlet
java.io.PrintWriter out = response.getWriter( );
//Begin assembling the HTML content out.println("%26lt;html%26gt;%26lt;head%26gt;");
out.println("%26lt;title%26gt;Help Page%26lt;/title%26gt;%26lt;/head%26gt;%26lt;body%26gt;");
out.println("%26lt;h2%26gt;Please submit your information%26lt;/h2%26gt;");
//make sure method="post" so that the servlet service method
//calls doPost in the response to this form submit
out.println( "%26lt;form method="post" action ="" + request.getContextPath( ) + "/firstservlet" %26gt;");
out.println("%26lt;table border="0"%26gt;%26lt;tr%26gt;%26lt;td valign="top"%26gt;");
out.println("Your first name: %26lt;/td%26gt; %26lt;td valign="top"%26gt;");
out.println("%26lt;input type="text" name="firstname" size="20"%26gt;");
out.println("%26lt;/td%26gt;%26lt;/tr%26gt;%26lt;tr%26gt;%26lt;td valign="top"%26gt;");
out.println("Your last name: %26lt;/td%26gt; %26lt;td valign="top"%26gt;");
out.println("%26lt;input type="text" name="lastname" size="20"%26gt;");
out.println("%26lt;/td%26gt;%26lt;/tr%26gt;%26lt;tr%26gt;%26lt;td valign="top"%26gt;");
out.println("Your email: %26lt;/td%26gt; %26lt;td valign="top"%26gt;");
out.println("%26lt;input type="text" name="email" size="20"%26gt;");
out.println("%26lt;/td%26gt;%26lt;/tr%26gt;%26lt;tr%26gt;%26lt;td valign="top"%26gt;");
out.println("%26lt;input type="submit" value="Submit Info"%26gt;%26lt;/td%26gt;%26lt;/tr%26gt;");
out.println("%26lt;/table%26gt;%26lt;/form%26gt;"); out.println("%26lt;/body%26gt;%26lt;/html%26gt;");
}
//doGet
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException ...{
//display the parameter names and values
Enumeration paramNames = request.getParameterNames( );
String parName;
//this will hold the name of the parameter
boolean emptyEnum = false;
if (! paramNames.hasMoreElements( ))
emptyEnum = true;
//set the MIME type of the response, "text/html"
response.setContentType("text/html");
//use a PrintWriter to send text data to the client
java.io.PrintWriter out = response.getWriter( );
//Begin assembling the HTML content
out.println("%26lt;html%26gt;%26lt;head%26gt;");
out.println("%26lt;title%26gt;Submitted Parameters%26lt;/title%26gt;%26lt;/head%26gt;%26lt;body%26gt;");
if (emptyEnum) ...{
out.println( "%26lt;h2%26gt;Sorry, the request does not contain any parameters%26lt;/h2%26gt;");
} else ...{
out.println( "%26lt;h2%26gt;Here are the submitted parameter values%26lt;/h2%26gt;");
}
while(paramNames.hasMoreElements( )) ...{
parName = (String) paramNames.nextElement( );
out.println( "%26lt;strong%26gt;" + parName + "%26lt;/strong%26gt; : " + request.getParameter(parName));
out.println("%26lt;br /%26gt;");
}//while
out.println("%26lt;/body%26gt;%26lt;/html%26gt;");
}
// doPost
}
你有可能注重到doGet()和doPost()每个将抛出ServletException和IOException.那是因为response.getWriter()将会抛出IO异常。
http://blog.csdn.net/bruceleey/archive/2007/02/07/1503843.aspx
Jsp&Servelet 学习笔记(1)
2007-02-07 10:35:42 作者
