以前接触.net比较多,这几天学习Ajax,和身边的学Jsp的同学交流了一下。
了解一下Jsp的运行原理,发现其中的serverlet可以直接向浏览器输出,输出内容包括可以包括Html,其实就是可以动态构建页面。(当然Serverlet的功能不止这些)。这让我想到了asp.net中的*.ashx文件,他也是可以直接输出到浏览器动态构建页面。这就有点像了。
asp.net中的ProcessRequest 函数的参数HttpContext 是“封装有关个别 HTTP 请求的所有 HTTP 特定的信息”。而serlverlet中的doget,dopost函数中的参数:HttpServletRequest , HttpServletResponse 则分别和asp.net 中HttpContext 类中的request和reponse对应。 还是有点像的哈,大家说下自己的看法!
ashx文件:<%@ WebHandler Language="C#" Class="Handler" %>using System;
using System.Web;public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable {
get {
return false;
}
}}serverletpackage dbdao.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Sample extends HttpServlet {
public Sample () {
super();
}
public void destroy() {
super.destroy();
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.getParameter("name");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void init() throws ServletException {
// Put your code here
}}
解决方案 »
- 问一个关于"锚点"的问题
- asp报错
- 【求助】关于Asp.Net2.0中动态生成的treeview控件
- 没有编辑环境只有记事本,请问如何做DLL文件的引用?
- 为什么Visual Studio 2005没有"新建网站"这个命令了呢?
- Visual Studio .NET 已检测到指定的 Web 服务器运行的不是 ASP.NET 1.1 版。您将无法运行 ASP.NET Web 应用程序或服务
- 好急的.net问题
- 填加一行新数据,问题.
- SqlCommand数组的问题
- 如何实现TreeView里面的父节点的checkbox选中子节点就选中的效果啊?
- javascript 实现div 窗体右下角伸缩
- 关于Json的问题,大家来帮帮忙
form action到serverlet
cd PDO_MYSQL-1.0.2
cp /usr/local/mysql/bin/mysql_config /usr/bin #防止编译的时候找不到mysql_config
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin #指定php-config目录
yum install mysql-devel #包含mysql对应的头文件,防止编译出错
make
make install
cd PDO_MYSQL-1.0.2
cp /usr/local/mysql/bin/mysql_config /usr/bin #防止编译的时候找不到mysql_config
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin #指定php-config目录
yum install mysql-devel #包含mysql对应的头文件,防止编译出错
make
make install