使用servlet

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() {
  }
}




文章来自: 本站原创
引用通告地址: http://www.is21.cn/trackback.asp?tbID=113
Tags:
评论: 0 | 引用: 0 | 查看次数: 1633
发表评论
你没有权限发表留言!