使用servlet
作者:admin 日期:2007-10-11
servlet是java语言专门针对web的一个类,提供了一个应用于web的api,可以很容易的和web进行交互,但是单纯的使用servlet,把动态代码和静态代码混合到了一起,很不方便开发应用程序,试想,程序里面到处是out.print,怎么去设计美观的界面,怎么去修改和扩充servlet的功能?
所以说我们在设计web的时候不妨把jsp+bean+servlet结合起来,jsp做界面,做表单,向后台提交,bean则设计一个一个的类或者说通用组件,servlet呢,则用来处理一些动态的数据,而且直接和web进行交互。
servlet继承了httpservlet类,其中两个参数request和response,request可以接受表单提交的数据,response可以进行和浏览器的交互,一般情况不去重写service方法,而是去重写doget或者dopost方法,当然,doget和dopost你只需要写一个就行了,比如你写了doget方法,在dopost方法中,只要写上doget(request,response)就可以了。
编译servlet需要
javac -classpath c:\tomcat\common\lib\servlet.jar Test.java
或者把上述的那个c:\tomcat\common\lib\servlet.jar加入到系统的环境变量之中
然后还要修改web.xml文件
加入
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/servlet/test</url-pattern>
</servlet-mapping>
例子如下所示:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>计算一个数的平方</title>
</head>
<body>
计算一个数的平方
<form method="get" action="/servlets-examples/servlet/test" >
<p>输入一个数:<input type="text" name="number" size="20"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>
</form>
</body>
</html>
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class test extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>test</title></head>");
out.println("<body bgcolor=\"#ffffff\">");
String number=request.getParameter("number");
double n=0;
n=Double.parseDouble(number);
out.println(n+"*"+n+":="+n*n);
out.println("</body></html>");
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
//Clean up resources
public void destroy() {
}
}
所以说我们在设计web的时候不妨把jsp+bean+servlet结合起来,jsp做界面,做表单,向后台提交,bean则设计一个一个的类或者说通用组件,servlet呢,则用来处理一些动态的数据,而且直接和web进行交互。
servlet继承了httpservlet类,其中两个参数request和response,request可以接受表单提交的数据,response可以进行和浏览器的交互,一般情况不去重写service方法,而是去重写doget或者dopost方法,当然,doget和dopost你只需要写一个就行了,比如你写了doget方法,在dopost方法中,只要写上doget(request,response)就可以了。
编译servlet需要
javac -classpath c:\tomcat\common\lib\servlet.jar Test.java
或者把上述的那个c:\tomcat\common\lib\servlet.jar加入到系统的环境变量之中
然后还要修改web.xml文件
加入
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/servlet/test</url-pattern>
</servlet-mapping>
例子如下所示:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>计算一个数的平方</title>
</head>
<body>
计算一个数的平方
<form method="get" action="/servlets-examples/servlet/test" >
<p>输入一个数:<input type="text" name="number" size="20"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>
</form>
</body>
</html>
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class test extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>test</title></head>");
out.println("<body bgcolor=\"#ffffff\">");
String number=request.getParameter("number");
double n=0;
n=Double.parseDouble(number);
out.println(n+"*"+n+":="+n*n);
out.println("</body></html>");
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
//Clean up resources
public void destroy() {
}
}
评论: 0 | 引用: 0 | 查看次数: 1633
发表评论
你没有权限发表留言!