- Tomcat的目录结构
Tomcat对内存等资源的消耗较大,故一般用于企业内部应用,而不是互联网应用(互联网应用一般使用PHP。PHP对资源消耗小些。)。
/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件
/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
/doc:存放Tomcat文档
/server:包含三个子目录:classes、lib和webapps
/server/lib:存放Tomcat服务器所需的各种JAR文件
/server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用
/common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件
/shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)
/logs:存放Tomcat执行时的日志文件
/src:存放Tomcat的源代码
/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
/work:存放JSP编译后产生的class文件
-
eclipse中新建工程
注意:Dynamic web module version 选择 2.5
-
初始时引入Tomcat服务器
或者右击Server标签页的空白处
-
引入Tomcat的包
右键单击项目
-
覆盖父类方法
右键单击文本编辑区
-
关联请求处理类
<servlet>
<servlet-name>helloWorldServlet</servlet-name>
<servlet-class>com.beeworkshop.web.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloWorldServlet</servlet-name>
<url-pattern>/helloWorld</url-pattern> 注意这里URL的大小写是敏感的
</servlet-mapping>
Http请求处理类com.beeworkshop.web.HelloWorldServlet的实现:
public class HelloWorldServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest reqest, HttpServletResponse response) throws ServletException, IOException {
this.doPost(reqest, response); // 指向POST的处理
}
@Override
protected void doPost(HttpServletRequest reqest, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>我的处女作</title></head>");
out.println("来了Jsp&Servlet!");
out.println("</html>");
out.close();
}
}
-
启动程序
右键单击
启动Tomcat server
Tomcat项目是热部署的。 -
运行错误处理
错误内容:
The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found...
问题原因:
https://blog.csdn.net/jiankunking/article/details/51462111
处理方法:
https://www.cnblogs.com/albert1017/archive/2012/08/14/2638226.html
- 浏览器测试
注意:
- 访问的URI是以项目名称开头的。
- URL的大小写是敏感的。
- 乱码的处理
protected void doPost(HttpServletRequest reqest, HttpServletResponse response)
throws ServletException, IOException {
//对于请求
request.setCharacterEncoding("utf8");
//对于响应
response.setCharacterEncoding("gbk");
//默认使用 ISO8859-1 编码
...