怎么看J2EE的源码?比如HttpServlet Servlet应该是个接口,不同服务器实现的方式不同,比如Tomcat就应该对应Tomcat实现Servlet的源代码用IDE去看服务器的源码,我还没试过; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Servlet的实现类源码在Apache的Tomcat那里下载(http://tomcat.apache.org/download-70.cgi),我也是找了一晚上才醒悟过来! 反编译如下,没有注释, 代码风格不那么美观啦;还是期望能找到官方的源码,很多人说官网上有,就是找不到呀! protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { long lastModified; String method = req.getMethod(); if (method.equals("GET")) { lastModified = getLastModified(req); if (lastModified == -1L) { doGet(req, resp); } else { long ifModifiedSince = req.getDateHeader("If-Modified-Since"); if (ifModifiedSince < lastModified / 1000L * 1000L) { maybeSetLastModified(resp, lastModified); doGet(req, resp); } else { resp.setStatus(304); } } } else if (method.equals("HEAD")) { lastModified = getLastModified(req); maybeSetLastModified(resp, lastModified); doHead(req, resp); } else if (method.equals("POST")) { doPost(req, resp); } else if (method.equals("PUT")) { doPut(req, resp); } else if (method.equals("DELETE")) { doDelete(req, resp); } else if (method.equals("OPTIONS")) { doOptions(req, resp); } else if (method.equals("TRACE")) { doTrace(req, resp); } else { String errMsg = lStrings.getString("http.method_not_implemented"); Object[] errArgs = new Object[1]; errArgs[0] = method; errMsg = MessageFormat.format(errMsg, errArgs); resp.sendError(501, errMsg); } } 有必要去研究HttpServlet的源码吗?你知道原理就行了啊如果以后在开发中让你去用国外的一个包文件难道你非要把里面的代码都研究透了才能动手写代码吗?对于实际的web项目或者web系统的话。都没有必要去研究HttpServlet。加油。 struts与hibernate整合 求助 struts+spring+hibernate源码 hibernate 的不明错误 眼尖的大侠们过来帮找个错,关于java接口 tomcat+Mysql远程向服务器部署 做好的J2EE项目如何部署到Windows环境的WEB服务器上,以实现对外发布? 提问:关于编译错误提示语句说明 Struts搜索返回数据没反应! ejb部署时配置XML文件的问题 我想调用*.jar里面的类,请问怎么import和设置环境变量呢? html:optionsCollection 怎么用,研究了半天还是不懂 怎样学习J2EE框架
(http://tomcat.apache.org/download-70.cgi),
我也是找了一晚上才醒悟过来!
还是期望能找到官方的源码,很多人说官网上有,就是找不到呀!
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
long lastModified;
String method = req.getMethod(); if (method.equals("GET")) {
lastModified = getLastModified(req);
if (lastModified == -1L)
{
doGet(req, resp);
} else {
long ifModifiedSince = req.getDateHeader("If-Modified-Since");
if (ifModifiedSince < lastModified / 1000L * 1000L)
{
maybeSetLastModified(resp, lastModified);
doGet(req, resp);
} else {
resp.setStatus(304);
}
}
}
else if (method.equals("HEAD")) {
lastModified = getLastModified(req);
maybeSetLastModified(resp, lastModified);
doHead(req, resp);
}
else if (method.equals("POST")) {
doPost(req, resp);
}
else if (method.equals("PUT")) {
doPut(req, resp);
}
else if (method.equals("DELETE")) {
doDelete(req, resp);
}
else if (method.equals("OPTIONS")) {
doOptions(req, resp);
}
else if (method.equals("TRACE")) {
doTrace(req, resp);
}
else
{
String errMsg = lStrings.getString("http.method_not_implemented");
Object[] errArgs = new Object[1];
errArgs[0] = method;
errMsg = MessageFormat.format(errMsg, errArgs); resp.sendError(501, errMsg);
}
}
如果以后在开发中让你去用国外的一个包文件
难道你非要把里面的代码都研究透了才能动手写代码吗?
对于实际的web项目或者web系统的话。都没有必要去研究HttpServlet。
加油。