zoukankan      html  css  js  c++  java
  • weblogic基本目录介绍,位数查看,启动与发布项目,修改JVM参数,设置项目为默认项目

      这里的基本目录%base%表示安装目录,如我的目录为:E:/weblogic就是%base%

    1.weblogic目录介绍

       weblogic主要的目录介绍:

    1.日志目录:

        每个domain(域)都有自己的日志目录,一般启动日志是AdmiServer.log,存放位置在:%base%user_projectsdomainsase_domainserversAdminServerlogs,如下:

        

     2.项目发布目录:

      每个域也都有自己的项目发布目录。存放位置在:%base%user_projectsdomainsase_domainserversAdminServer mp\_WL_user,例如:

        

    3.JSP编译之后的目录:(我们需要知道weblogic编译JSP依赖自己的lib库,所以在编译之后的class文件头部引入自己的lib,而tomcat也依赖于自己的lib)

      存放的是JSP编译之后的目录,位置在:%base%user_projectsdomainsase_domainserversAdminServer mp\_WL_userStrutskm2umqjsp_servlet文件夹下面。而且JSP不会一次性全部编译,是我们第一次访问哪个JSP编译哪个JSP(JSP的延迟编译特性确实给性能带来了不大不小的影响,第一次访问超慢的那种状况给人的感觉非常不好),而且项目的根目录的JSP编译之后的package是默认的,然后每个目录对应一个package,例如:

    (1)根目录下的JSP:

        

        JSP内容 

    <%@ page pageEncoding="GBK" contentType="text/html; charset=GBK" %>
    <%@taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <c:set var="baseurl" value="${pageContext.request.contextPath}"></c:set>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    "${baseurl}"
    </body>
    </html>

         编译之后的位置:%base%user_projectsdomainsase_domainserversAdminServer mp\_WL_userStrutskm2umqjsp_servlet

        

        查看反编译之后的内容:

    package jsp_servlet;
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.servlet.jsp.JspFactory;
    import javax.servlet.jsp.JspWriter;
    import javax.servlet.jsp.PageContext;
    import javax.servlet.jsp.SkipPageException;
    import javax.servlet.jsp.tagext.JspTag;
    import javax.servlet.jsp.tagext.SimpleTag;
    import javax.servlet.jsp.tagext.Tag;
    import org.apache.taglibs.standard.tag.rt.core.SetTag;
    import weblogic.jsp.internal.jsp.JspFunctionMapper;
    import weblogic.jsp.internal.jsp.utils.JspRuntimeUtils;
    import weblogic.servlet.jsp.ByteWriter;
    import weblogic.servlet.jsp.DependencyInjectionHelper;
    import weblogic.servlet.jsp.ELHelper;
    import weblogic.servlet.jsp.ExpressionInterceptor;
    import weblogic.servlet.jsp.ExpressionInterceptor.Type;
    import weblogic.servlet.jsp.JspBase;
    import weblogic.servlet.jsp.StaleChecker;
    import weblogic.servlet.jsp.StaleIndicator;
    
    public final class __forward
      extends JspBase
      implements StaleIndicator
    {
      private static void _releaseTags(PageContext pageContext, JspTag t)
      {
        while (t != null)
        {
          DependencyInjectionHelper.preDestroy(pageContext, t);
          if ((t instanceof Tag))
          {
            Tag tmp = (Tag)t;
            t = ((Tag)t).getParent();
            try
            {
              tmp.release();
            }
            catch (Exception localException) {}
          }
          else
          {
            t = ((SimpleTag)t).getParent();
          }
        }
      }
      
      public boolean _isStale()
      {
        boolean _stale = _staticIsStale((StaleChecker)getServletConfig().getServletContext());
        return _stale;
      }
      
      public static boolean _staticIsStale(StaleChecker sci)
      {
        if (sci.isResourceStale("/forward.jsp", 1537094471925L, "12.2.1.3.0", "UTC")) {
          return true;
        }
        return false;
      }
      
      private ExpressionInterceptor _jsp_expressionInterceptor = JspRuntimeUtils.getNonOperExpressionInterceptor();
      private static boolean _WL_ENCODED_BYTES_OK = true;
      private static final String _WL_ORIGINAL_ENCODING = "GBK".intern();
      
      private static byte[] _getBytes(String block)
      {
        try
        {
          return block.getBytes(_WL_ORIGINAL_ENCODING);
        }
        catch (UnsupportedEncodingException u)
        {
          _WL_ENCODED_BYTES_OK = false;
        }
        return null;
      }
      
      private static String _wl_block0 = "
    ";
      private static final byte[] _wl_block0Bytes = _getBytes(_wl_block0);
      private static String _wl_block1 = "
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    "";
      private static final byte[] _wl_block1Bytes = _getBytes(_wl_block1);
      private static String _wl_block2 = ""
    </body>
    </html>";
      private static final byte[] _wl_block2Bytes = _getBytes(_wl_block2);
      private static JspFunctionMapper _jspx_fnmap = JspFunctionMapper.getInstance();
      
      protected void _jspInit()
      {
        this._jsp_expressionInterceptor = JspRuntimeUtils.getExpressionInterceptor(getServletConfig());
      }
      
      public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
      {
        ServletConfig config = getServletConfig();
        ServletContext application = config.getServletContext();
        JspTag _activeTag = null;
        Object page = this;
        PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true);
        response.setHeader("Content-Type", "text/html; charset=GBK");
        JspWriter out = pageContext.getOut();
        ByteWriter _bw = (ByteWriter)out;
        _bw.setInitCharacterEncoding(_WL_ORIGINAL_ENCODING, _WL_ENCODED_BYTES_OK);
        JspWriter _originalOut = out;
        HttpSession session = request.getSession(true);
        try
        {
          response.setContentType("text/html; charset=GBK");
          _bw.write(_wl_block0Bytes, _wl_block0);
          _bw.write(_wl_block0Bytes, _wl_block0);
          if (_jsp__tag0(request, response, pageContext, _activeTag, null)) {
            return;
          }
          _bw.write(_wl_block1Bytes, _wl_block1);
          out.write(this._jsp_expressionInterceptor.intercept((String)ELHelper.evaluate("${baseurl}", String.class, pageContext, null), pageContext, ExpressionInterceptor.Type.EL));
          _bw.write(_wl_block2Bytes, _wl_block2);
        }
        catch (Throwable __ee)
        {
          if (!(__ee instanceof SkipPageException))
          {
            while ((out != null) && (out != _originalOut)) {
              out = pageContext.popBody();
            }
            _releaseTags(pageContext, _activeTag);
            pageContext.handlePageException(__ee);
          }
        }
        finally
        {
          JspFactory.getDefaultFactory().releasePageContext(pageContext);
        }
      }
      
      private boolean _jsp__tag0(ServletRequest request, ServletResponse response, PageContext pageContext, JspTag activeTag, JspTag parent)
        throws Throwable
      {
        JspTag _activeTag = activeTag;
        JspWriter out = pageContext.getOut();
        ByteWriter _bw = (ByteWriter)out;
        SetTag __tag0 = null;
        int __result__tag0 = 0;
        if (__tag0 == null)
        {
          __tag0 = new SetTag();
          DependencyInjectionHelper.inject(pageContext, __tag0);
        }
        __tag0.setPageContext(pageContext);
        JspRuntimeUtils.setParentForClassicTag(__tag0, parent);
        __tag0.setVar((String)JspRuntimeUtils.convertType("baseurl", String.class, "var"));
        __tag0.setValue(ELHelper.evaluate("${pageContext.request.contextPath}", Object.class, pageContext, _jspx_fnmap));
        _activeTag = __tag0;
        try
        {
          __result__tag0 = __tag0.doStartTag();
          if ((__result__tag0 == 0) || 
          
    
    
            (__tag0.doEndTag() == 5))
          {
            _activeTag = null;
            _releaseTags(pageContext, __tag0);
            return true;
          }
        }
        finally
        {
          _activeTag = __tag0.getParent();
          DependencyInjectionHelper.preDestroy(pageContext, __tag0);
          __tag0.release();
        }
        return false;
      }
    }

    (2)目录下的JSP,一个目录相当于一个package:

     编译之后的位置:

    查看你编译之后的头部内容:

      

    4.存放lib的目录:

      存放一些公共项目使用的lib,存放位置在%base%user_projectsdomainsase_domainlib,如下:

        

    5.weblogic自带的lib,类似于tomcat的lib目录,是weblogic自己启动所需要的包,一般也是造成冲突包的位置:

      存放位置在:%base%wlservermodules

    6.缓存目录:

      有时候缓存造成发布问题,所以我每次除了清掉缓存目录,还要清掉logs目录和项目tmp目录,也就是我每次启动项目都清掉下面三个目录,每次启动都会重新生成下面三个目录:

         

     2.weblogic位数查看

      在weblogic安装目录下wlserverserver ativewin目录下根据目录即可查看,例如我的64位的:

        

    3.weblogic启动

       weblogic启动的程序是在%base%user_projectsdomainsase_domainstartWebLogic.cmd (其内部调用了%base%\user_projectsdomainsase_domainin目录下的startWebLogic.cmd),源码如下:

    @ECHO OFF
    
    @REM WARNING: This file is created by the Configuration Wizard.
    @REM Any changes to this script may be lost when adding extensions to this configuration.
    
    SETLOCAL
    
    set DOMAIN_HOME=E:weblogicuser_projectsdomainsase_domain
    
    call "%DOMAIN_HOME%instartWebLogic.cmd" %*
    
    
    
    ENDLOCAL

       双击之后启动即可,启动可以访问登陆页面。

    4.weblogic调大JVM参数  

    JDK7的参数设置:

    -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m

    JDK8的参数设置:

    -Xms1024m -Xmx1024m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m

     weblogic12.2.1.3大概在%base%user_projectsdomainsase_domaininsetDomainEnv.cmd   202行左右.(我也是根据启动的日志查看的),weblogic12.1.3在170行。例如下面是weblogic12.2.1.3在JDK8环境中配置:

     

       重新启动查看日志并且查看日志:

    jps+jmap查看JVM参数:

     

    控制台查看参数:

      

    5.weblogic部署项目 

       一种是通过网页部署,另一种是通过目录部署,类似于tomcat的部署,如下:

    1.网页部署项目

       登陆之后点击部署=》安装:

     选中项目的跟路径:(G:自己的struts项目的适配weblogic下调好的项目Struts是一个完整的项目,是项目的根路径)

     点击下一步:

      输入项目的项目名称:

     点击完成即可:

     完成部署,查看项目概述:

     

     最后查看部署成功的项目:

    浏览器访问进行测试:

      至此,第一种部署方式成功,我门到缓存目录查看发现目录已经发布到缓存目录:

    2.通过目录部署部署

       通过将war或者解压后的目录拷贝到:%base%user_projectsdomainsase_domainautodeploy目录,此目录相当于tomcat的webapps目录:

          

      登陆网页查看部署信息:

       访问进行测试:

          

    3.通过war包部署

     (1)使用java自带的命令打war包:

    Administrator@MicroWin10-1535 MINGW64 /g/自己的struts项目的适配/weblogic下调好的项目/Struts
    $ pwd
    /g/自己的struts项目的适配/weblogic下调好的项目/Struts
    
    Administrator@MicroWin10-1535 MINGW64 /g/自己的struts项目的适配/weblogic下调好的项目/Struts
    $ ls
    html/  img/  index.jsp  index2.jsp  js/  META-INF/  tag.jsp  WEB-INF/
    
    Administrator@MicroWin10-1535 MINGW64 /g/自己的struts项目的适配/weblogic下调好的项目/Struts
    $ jar -cvfM0 struts.war ./

     (2)将war包扔到%base%user_projectsdomainsase_domainautodeploy目录下:

     

    (3)查看部署信息

     (4)访问测试:

    5.weblogic部署项目为默认项目(去除项目名称===只能用目录部署)

      有时候我门希望访问项目不带项目名称,类似于tomcat的默认项目。

      我门可以增加一个weblogic.xml目录在WEB-INF目录下,与web.xml同级目录:

        

    weblogic.xml内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
     
    <weblogic-web-app>
      <jsp-descriptor>  
        <jsp-param>  
          <param-name>encoding</param-name>  
          <param-value>GBK</param-value>  
        </jsp-param>  
        <jsp-param>  
          <param-name>pageCheckSeconds</param-name>  
          <param-value>-1</param-value>  
        </jsp-param>  
        <jsp-param>  
          <param-name>compilerSupportsEncoding</param-name>  
          <param-value>true</param-value>  
        </jsp-param>  
        <jsp-param>  
          <param-name>verbose</param-name>  
          <param-value>false</param-value>  
        </jsp-param>  
      </jsp-descriptor>
      
      <container-descriptor>
          <prefer-web-inf-classes>true</prefer-web-inf-classes>
      </container-descriptor>
     
      <context-root>/</context-root>
     
    </weblogic-web-app>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>是设置weblogic优先加载我门WEB-INF/lib目录的lib。
    <context-root>/</context-root>是设置项目的名称,/自然就是默认的项目了。


    启动访问项目进行测试:

    
    
     
  • 相关阅读:
    GitHub与Markdown(学习笔记)
    “Another git process seems to be running in this repository...”Git此问题解决
    Git学习笔记--实践(三)
    Git学习笔记--配置(二)
    Java 锁(学习笔记)
    Git学习笔记--历史与安装(一)
    Java 8中Stream API(学习笔记)
    Qt Creator的下载和安装
    获取 wx.getUserInfo 接口后续将不再出现授权弹窗,请注意升级(微信小程序开发)
    大型网站架构技术一览
  • 原文地址:https://www.cnblogs.com/qlqwjy/p/9653137.html
Copyright © 2011-2022 走看看