myeclipse中导入jar包的时候也要在tomcat中导入该jar包。
否则会出现下面的问题:
A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Daimler]]
<servlet>
<servlet-name>DownServlet</servlet-name>
<display-name>This is the display name of my J2EE component</display-name>
<description>This is the description of my J2EE component</description>
<servlet-class>com.ccnu.servlet.DownServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DownServlet</servlet-name>
<url-pattern>/servlet/DownServlet</url-pattern>
</servlet-mapping>
这里的url-pattern是其他内容想访问servlet所应该指向的地址
当用annotation配置时,我的目录是:
index.jsp放在web-root/jsp下
servlet在com.ccnu.servlet包中
@WebServlet(“/CrazyUpLoadServlet”)
action=”../CrazyUpLoadServlet”
因为访问jsp的地址是http://localhost:8080/filehandle/jsp/upload.jsp
访问servlet的地址是http://localhost:8080/filehandle/CrazyUpLoadServlet
$.ajax中的url指向的是< url-pattern>
form提交表单的时候action指向的是< url-pattern>
getRequestDispatcher的参数是相对路径,一定要以/开头。
request.getRequestDispatcher("/jsp/showFile.jsp").forward(request, response);
css引用要卸载< head>中,javascript放在后面,< body>前面即可。
getParameter取得是name属性
enctype属性规定在发送到服务器之前应该如何对表单数据进行编码。当上传时采用的是multipart/form-data,此时getParameter会返回null。应该这样获取表单信息:
Iterator<FileItem> iterator=fileItems.iterator();
while(iterator.hasNext()){
FileItem item= (FileItem) iterator.next();
String allvalue = item.getFieldName();
String all = new String(item.getString().getBytes("iso-8859-1"), "utf-8");
}
servlet中获得tomcat项目根目录的绝对路径
String filePath=this.getServletConfig().getServletContext().getRealPath(“/”);
myeclipse中,alt+shift+h自动生成hashcode和equals方法