小学生学习Java的JavaWeb

用户(浏览器)访问服务端的什么东西?

静态Web资源 html css js 用户在访问静态资源的时候 这些资源不会变

动态Web资源 jsp Servlet 用户在访问动态资源的时候 访问的内容是由代码生成的 例如,不同用户访问不同的资源

TomCat服务器文件夹

bin 存放编译指令(开启关闭服务)
conf 存放tomcat自己的配置文件的
lib 存放tomcat依赖的jar包
logs 存放的时用户访问服务器的日志(查看错误)
temp 存放临时文件的
webapps 默认存放应用程序的文件夹(你的工程)
work 存放tomcat自己工作文件
wtpwebapps与eclipse关联后 存放的文件夹

利用命令行(终端开启tomcat服务)

1.前往tomcat的bin文件夹下
cd
2.开启文件管理权限(读写)
sudo chmod 755 *.sh
3.开启服务 (Windows下 执行的四 .bat后缀的指令)
sudo sh ./startup.sh
4.关闭服务
sudo sh ./shutdown.sh

Servlet

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

Servlet的生命周期方法

Servlet只是第一次访问的时候 创建一次
当你再次访问该servlet时 不会创建新的servlet 只会重复调用服务方法 service方法

用户发出一个请求 系统如何创建出对应的servlet出来?

http://localhost:8080/sh-web-01/demo01
1.通过用户请求的网址
服务器会获取到 项目的名称 /sh-web-01
2.找到你对应项目后 从项目中找到
该项目的web.xml文件
3.从web.xml文件中
可以找到访问servlet的路径(/demo01)
4.通过servlet的路径 找到用户
要访问哪一个servlet的名字(demo01)
5.通过servlet名字 就能找到 要创建的servlet 是属于哪个类
6.系统就会通过反射来创建该类的对象,走生命周期的4个方法

Servlet 创有三种方式

1.实现servlet

//Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程
//一个Servlet只会有一个对象,服务所有的请求
/*
 * 1.实例化(使用构造方法创建对象)
 * 2.初始化  执行init方法
 * 3.服务     执行service方法
 * 4.销毁    执行destroy方法
 */
public class ServletDemo1 implements Servlet {

    //public ServletDemo1(){}

     //生命周期方法:当Servlet第一次被创建对象时执行该方法,该方法在整个生命周期中只执行一次
    public void init(ServletConfig arg0) throws ServletException {
                System.out.println("init");
        }

    //生命周期方法:对客户端响应的方法,该方法会被执行多次,每次请求该servlet都会执行该方法
    public void service(ServletRequest arg0, ServletResponse arg1)
            throws ServletException, IOException {
        System.out.println("hehe");
    }
    //生命周期方法:当Servlet被销毁时执行该方法
    public void destroy() {
        System.out.println("destroy");
    }
    // 获取Servlet配置信息的方法
    public ServletConfig getServletConfig() {
        return null;
    }
    // 获取Servlet的版本 作者等信息的方法
    public String getServletInfo() {
        return null;
    }
}

2、继承 GenericServlet

public class ServletDemo2 extends GenericServlet {

    @Override
    public void service(ServletRequest arg0, ServletResponse arg1)
            throws ServletException, IOException {
        System.out.println("heihei");

    }
}

3.继承 HttpServlet

public class ServletDemo3 extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("doGet");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("doPost");
        doGet(req,resp);
    }

}

猜你喜欢

转载自blog.csdn.net/zmw1224/article/details/80753507