zoukankan      html  css  js  c++  java
  • JavaWeb学习笔记(8)

    用Eclipse部署JavaWeb项目

    下面是在Eclipse中跑web项目时一个路径

    C:Users10301Desktopgz-java013.JavaWebworkspace.metadata.pluginsorg.eclipse.wst.server.core mp0

    URL: 统一资源定位符(网址)

    URI: 统一资源标识符

    http://localhost:8080/hello/1.html

    协议  主机IP(端口号) URI(当前应用的资源路径)

    用Tomcat的管理平台管理Web应用的生命周期

    Tomcat的管理平台是Tomcat本身的一个Web应用,管理平台对应manager应用,它位于Tomcat安装目录/webapps/manager目录下。

    manager应用会对用户进行安全验证。它要求用户具有manager角色。因此,应该先在Tomcat中添加具有manager角色的用户信息,方法为打开Tomcat安装目录/conf/tomcat-users.xml文件,在其中增加以下内容:

    <tomcat-users>

             <role rolename="manager-gui"/>

    <user username="tomcat" password="123456" roles="manager-gui"/>

    </tomcat-users>

    然后登录到后台,点击下图瓣ManagerApp

    在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。

      mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径

    Servlet 

    • Servlet作用处理请求
    • 当浏览器访问一个http://localhost:8080/hello/hello 路径,就向tomcat发送一个请求

    1.4 Servlet生命周期(重要)

    • Servlet生命周期四个状态:实例化-->初始化-->服务->销毁
    • 出生:(实例化-->初始化)第一次访问Servlet就出生(默认情况下)
    • 活着:(服务)应用活着,servlet就活着
    • 死亡:(销毁)应用卸载了servlet就销毁。
    package com.zx.web.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    public class HelloServlet implements Servlet{
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
        }
    
        public HelloServlet() {
            System.out.println("Hello Servlet");
        }
        
        @Override
        public void destroy() {
            // TODO Auto-generated method stub
            System.out.println("销毁");
        }
    
        @Override
        public ServletConfig getServletConfig() {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public String getServletInfo() {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public void init(ServletConfig config) throws ServletException {
            // TODO Auto-generated method stub
            System.out.println("初始化init");
        }
    
        @Override
        public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
            // TODO Auto-generated method stub
            System.out.println("服务Service");
            //返回结果给客户端
            res.getWriter().write("Hello Servlet");
        }
    
    }
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>hello</display-name>
      <!-- 配置Servlet,也就是配置一个请求路径 -->
      <servlet>
          <servlet-name>HelloServlet</servlet-name>
          <servlet-class>com.zx.web.servlet.HelloServlet</servlet-class>
          <load-on-startup>2</load-on-startup>
      </servlet>
      <!-- 映射 -->
      <servlet-mapping>
          <servlet-name>HelloServlet</servlet-name>
          <url-pattern>/hello</url-pattern>
      </servlet-mapping>
      
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

    Servlet实现的三种方式

    • 实现javax.servlet.Servlet接口
    • 继承javax.servet.GenericServlet类(适配器模式)

    • 继承javax.servlet.http.HttpServlet类(模板方法设计模式)

    package com.zx.web.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.GenericServlet;
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    public class HelloServlet3 extends GenericServlet{
    
        @Override
        public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
            // TODO Auto-generated method stub
            res.getWriter().write("hello");
        }
    
        
    
    }
    package com.zx.web.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.GenericServlet;
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class HelloServlet extends HttpServlet{
        
        /**
         * get请求
         */
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            // TODO Auto-generated method stub
            //响应给客户端
            resp.getWriter().write("hello Servlet---");
        }
    }

    url-pattern: *.do  以*.字符串的请求都可以访问 注:不要加/

    url-pattern: /*  任意字符串都可以访问

    url-pattern: /action/* 以/action开头的请求都可以访问

    匹配规则:

    优先级:从高到低

    绝对匹配-->  /开头匹配 --> 扩展名方式匹配

    如果url-pattern的值是/,表示执行默认映射。所有资源都是servlet

  • 相关阅读:
    GCD (hdu 5726)
    1092
    D. Puzzles(Codeforces Round #362 (Div. 2))
    A. Lorenzo Von Matterhorn
    Polyomino Composer(UVA12291)
    Optimal Symmetric Paths(UVA12295)
    菜鸟物流的运输网络(计蒜客复赛F)
    1193
    1119
    1374
  • 原文地址:https://www.cnblogs.com/zhangwugai/p/11264437.html
Copyright © 2011-2022 走看看