tomcat 文件夹
bin 可执行文件
conf 服务器的配置信息
lib 服务器使用的jar 包
logs 服务器 日志
temp 产生的临时文件
work 服务器自己的工作区间
webapps 默认的存放的工程
wtpwebapps 和Eclispace 关联后产生的存放工程的文件夹
从控制台启动tomcat 服务器
先去往tomcat服务器下面的bin 文件夹
获取文件夹的权限(读写)
sudo chmod 755 *.sh
执行打开服务器
sudo sh ./startup.sh
关闭服务器
sudo sh ./shutdown.sh
访问服务器网址url
http:// localhost:8080
协议://本地地址:端口号/项目名/访问的资源
Servlet :小服务程序
是个java类的接口
注意:在浏览器上访问的每一个网页都是Servlet
每一个servlet都要配置一个网址
在web.xml中配置
1、用户浏览器访问服务器
2.服务器通过网址可以找到对应项目的 web.xml文件
3.通过网址找到对应的servletname
4.通过servletname找到对应的servle类
5.创建servlet对象
6.执行生命周期中的几个方法 实例化–初始化 –servlet服务–销毁
创建servlet的方式一
创建一个类继承Servlet 类
public class demo01 implements Servlet{
//生命周期方法以下四个
//实例化方法(无参构造方法)
public demo01() {
System.out.println(“我是无参构造方法”);
}
@Override
public void init(ServletConfig arg0) throws ServletException {
System.out.println("我是初始化init方法");
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
//servlet只创建一个 多次访问 实际上就是多次调用servlet方法
System.out.println("我是服务方法service");
}
@Override
public void destroy() {
// 删除该应用程序调用
//停止服务器
System.out.println("我是销毁方法destroy");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
}
创建servlet的方式 二
使用适配器模式来创建(使用哪个方法就重写哪个方法,用不上哪个方法可以不重写)
这里继承的时GenericServlet类
public class Demo02 extends GenericServlet {
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
System.out.println("我是服务 222222方法");
}
}
创建方式三 (模板设计模式)
这里继承的是 HttpServlet
重写其中的doget 和dopost 方法
注意 :这里不能调用父类的doget 方法不然会一直报错 400或405
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println(“我是demo03”);
}
//接受post请求
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
在dopost 中调用doget()方法,就近原则其实调用的是上面的doget()方法
servletConfig对象保存的是servlet中的配置信息
获取ServeletConfig 的方式一
public class Demo03 extends HttpServlet{
//声明一个servletConfig 对象当做成员变量
private ServletConfig config;
public void init(ServletConfig config) throws ServletException {
this.config = config;
//获取servlet的配置信息
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String value =this.config.getInitParameter("encoding");
System.out.println(value);
}
}
获取ServletConfig方式二
//通过父类中的方法获取servletConfig 对象
主要代码
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String value = this.getServletConfig().getInitParamemeter(“sd”);
Systemm.out.println(value);
}
域对象
在一定范围内,一个存储信息的对象
ServletContext 范围:整个过程中都可以访问到并且只有一个 单例对象
获取Servletcontext 对象
方式一:从ServletConfig对象中获取
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext application = this.getServletConfig().getServletContext;
application.setAttribute("username","wzw");
}
方式二 直接获取
ServletContext application=this.getServletContext;
配置文件
1.创建一个Servlet对象
设置servlet名字,设置该类的全限定类名
demo01
com.sadasd.demo01
2.给该Servlet配置一个访问地址
demo01
注意:这里的/代表的是工程名后面的/
/demo01
在配置文件中添加servlet 的配置信息
name
value
可以通过上述的ServletConfig 对象来获取配置信息
String value = this.getServletConfig().getInitParamemeter(“name”);