Java之Tomcat、Dynamic web project与Servlet
一、Tomcat配置
Conf Config configration -->配置
Service.xml:用来配置Tomcat
Tomcat_users.xml:用来配置Tomcat的管理账户和角色
Web.xml:Tomcat应用的配置(应用的配置从它继承而来)
二、Service.xml结构
主机、虚拟机---->多个(靠域名区分)
域名: name
程序:appBase
是否支持自动解压WAR包 unpackWARs
是否支持自动部署 autoDeploy
Context[path] [docBase]
应用虚拟目录
Path 访问路径
docBase 程序文件的保存位置
一个主机可以拥有多个应用 这些应用的访问路径不同
报名应用: www.zhiyou100.com/baoming
三、Tomcat默认应用
1>Root文件夹中的应用就是默认应用
当访问域名时,打开就是默认应用
其他应用都需要带应用路径
如:/等
2>Tomcat自带一个管理应用
可以查看Tomcat服务器的运行状态
可以管理主机以及应用
这个管理应用只能在服务器本身中访问,不能再其他电脑访问
需要配置管理角色和用户:tomcat-users.xml中添加role和user
管理应用
服务器运行状态:操作系统的信息、JVM的信息、端口的连接情况
应用管理
列出主机的应用、启动停止应用、卸载应用、发布应用
主机管理
列出所有主机、添加主机
四、Web.xml应用的根配置
Web-app 一个web应用
Servlet 多个
默认所有应用都支持2个servlet
Default 用来处理html\css\js图等静态文件
Jsp用来jsp转码成java并编译成class类,然后使用编译出的类生成页面(处理请求)
Filter
默认带了filter但未启用,比如编码转换的filter
Session-config : 配置了session,指定了默认超时时间30minute
Mime-mapping : 配置mime类型,它会影响请求头和响应头中的Content-Type头。决定Tomcat是否要处理相应资源。
五、Dynamic Web project
第一次Dynamic Web project时
1>需要创建Tomcat运行时环境
2>Tomcat安装位置
3>JDK安装位置
Preferences --> server--->Runtime
Java Resouces /src : 是存放java源码的位置
Build /classes: 存放生成的类
Web Content:是web应用的存放位置,可以打包成WAR包
META-INF:存放第三方jar包,jsp等web资源、web.xml应用配置文件、部署描述符
HTML、CSS、JS图片在开发时,可以放在Webcontent中,部署时,如果需要可以存放其他位置(虚拟目录)
六、JSP文件的相关设置
设置编码为UTF-8:preferences-->web-->JspFiles-->Editor-->Templates
七、Build Path
Dynamic web project 在编译运行过程中需要很多类或jar包,Build Path为Eclipse指明了项目需要类和jar的位置(也包括项目源代码的位置和项目源代码生成类的位置)
其中最重要的是libraies里面的Apache Tamcat和jdk(jre)
八、修改启动浏览器
Window-->web Browser 改成现代浏览器(谷歌/Firebox)
九、Eclipse中修改应用路径
项目上点右键-->properties -->web projectSetting-->Context root
找Server视图(Window-->show view)--> 找到主机server-->在主机下面删除应用重启
十、Eclipse与Tomcat的关系
默认情况下,Eclipse会在当前workspace中收集Dynamic web project运行所需的各种资源(包含类)放入.metada\.plugins\org.eclipse.wst.server.core
另外将Tomcat的配置文件也复制有一份到WorkSpace的server文件夹中
通过调用javaw来启动Tomcat安装目录中的tomcat.jar包,在这个过程中{指定classpath;指定主类}
在Run configuration --> Apache Tomcat -->我们创建Tomcat的服务器
里面包括这些内容:Arguments ---->启动参数 classpath--->寻找类的位置
Source:源代码和Jar包
创建Servlet类
默认情况下,创建的Servlet类以javax.servlet.http.HttpServlet类为父类
HttpServlet类由Tomcat提供(在servlet-api.jar包中)
最少要选中一个doXXX的方法,通过这个方法处理请求,有2个参数
request :请求报文 (请求行、请求头、请求体)中所有数据全部都在里面
response:响应报文(响应行、响应体、响应头)都要通过response设置
处理请求
新建一个Servlet类,选择一个doXXX方法
在这个方法中通过request参数获取请求报文中的数据
加工之后通过response设置响应报文
最重要是:如果想在当前页面展示数据,或者把数据传递到某一个特定的页面 需要 Servlet 和 JSP 合作完成
把需要传递的数据通过 key-value 的形成存入到 request 中
request.setAttribute("username", username);
request.setAttribute("password", password);
请求转发:把 request 和 resopne 再发送到 index.jsp 中
request.getRequestDispatcher("/index.jsp").forward(request, response); 第一个括号中为接受的文件名
Java之Tomcat、Dynamic web project与Servlet的更多相关文章
- Eclipse Java EE 创建 Dynamic Web Project
1. 创建一个web工程,此处用eclipse创建(如果对创建web工程很熟悉,可以不看的,本文目的是做一个记录) 1) 打开新建工程对话框,选择Dynamic web Proje ...
- Eclipse 将Java项目转为Dynamic web project
1.打开项目根目次下的.project 在<buildSpec>节点下是否存在 <buildCommand> <name>org.eclipse.wst.commo ...
- 在eclipse中新建Dynamic web project时选择2.5和3.0的区别(里面涉及servlet和tomcat的问题)
1.是指servlet的版本,是2.5的还是3.0的 servlet3.0以后支持异步 2.dynamic web module和对应的TOMCAT 版本 http://blog.sina.com.c ...
- Eclipse创建第一个Servlet(Dynamic Web Project方式)、第一个Web Fragment Project(web容器向jar中寻找class文件)
创建第一个Servlet(Dynamic Web Project方式) 注意:无论是以注解的方式还是xml的方式配置一个servlet,servlet的url-pattern一定要以一个"/ ...
- java中dynamic web project与web project 的区别 [转]
原帖地址:http://blog.sina.com.cn/s/blog_46726d2401013jlk.html 文章框架: 1.Dynamic Web Project 概念 2.eclipse ...
- MyEclipse Web Project导入Eclipse Dynamic Web Project,无法部署到tomcat问 题
做作业遇到一个小问题,将MyEclipse Web Project导入到Eclipse中开发.在部署到tomcat时,发现无法发布这个项目. 问题分析: MyEclipse Web Project被识 ...
- Mac 下 Eclipse 添加 Dynamic Web Project 并配置 Tomcat
最近拿到了一个 Dynamic Web Project,我的 Mac 上的 Eclipse 之前没有过这类型的项目,所以导入之后无法正常运行.下面是我记录的如何配置 Eclipse 使之能够运行 Dy ...
- Eclipse整合Tomcat开发Dynamic Web Project环境总结
一.引子 习惯了MyEclipse的你是否曾想过基于Eclipse进行Dynamic Web Project项目开发呢?网上资料颇多,但是实践起来却发现总有这样那样的问题,设计Lucene搜索引擎项目 ...
- 创建Dynamic Web Project时 显示最新Apache Tomcat 8.0 的方法
创建Dynamic Web Project时 显示最新Apache Tomcat 8.0 等的方法 解决办法如下: 第一步:eclipse菜单help->eclipse marketplac ...
随机推荐
- C数组逆序
一.标准交换模式 /**** *标准交换模式 *实现数组的逆序,原理就是数组的首尾元素进行交换 ***/ #define N 5; int main(){ int array[N] = {15,20, ...
- Node.js开发入门—使用cookie保持登录
这次来做一个站点登录的小样例,后面会用到. 这个演示样例会用到Cookie.HTML表单.POST数据体(body)解析. 第一个版本号,我们的用户数据就写死在js文件中. 第二个版本号会引入Mong ...
- 【DataStructure】Some useful methods about linkedList.
/** * Method 1: Delete the input element x * and meanwhile keep the length of array after deleted n ...
- pcie dma的玩法
There is some issue with the implement script. So I took the manual steps. 1. Created the pcie core ...
- 【Android】15.2 广播
分类:C#.Android.VS2015: 创建日期:2016-02-29 一.简介 Android系统和你自己编写的应用程序都可以通过Indent发送和接收广播信息.广播的内容既可以是自定义的信息, ...
- Jackson 时间格式化,时间注解 @JsonFormat 与 @DatetimeFormat 用法、时差问题说明
@JsonFormat 使用 我们可以有两种用法(我知道的),在对象属性上,或者在属性的 getter 方法上,如下代码所示: 增加到属性上: ... ... /**更新时间 用户可以点击更新,保存最 ...
- Codeforces Round #235 (Div. 2) C. Team
C. Team time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- ny33 蛇形填数
蛇形填数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为: 10 11 12 1 9 16 1 ...
- filter从web.xml读取config的时候中文编码问题
首先,web.xml中不建议出现超出ASCII范围的字符 但是作为一点积累,简单举个例子如下,其核心代码就是new String(String.getBytes(charset_1), charset ...
- 读取数据库中timestamp类型去掉毫秒
数据库中查询出来的时间是:2015-09-24 14:30:26.2,带有毫秒,需要去掉. 方法一: public static Timestamp getSystemTime() { Date dt ...