weblogic基本目錄介紹,位數查看,啟動與發布項目,修改JVM參數,設置項目為默認項目


  這里的基本目錄%base%表示安裝目錄,如我的目錄為:E:/weblogic就是%base%

 

 

1.weblogic目錄介紹

   weblogic主要的目錄介紹:

1.日志目錄:

    每個domain(域)都有自己的日志目錄,一般啟動日志是AdmiServer.log,存放位置在:%base%\user_projects\domains\base_domain\servers\AdminServer\logs,如下:

    

 

 2.項目發布目錄:

  每個域也都有自己的項目發布目錄。存放位置在:%base%\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user,例如:

    

 

3.JSP編譯之后的目錄:(我們需要知道weblogic編譯JSP依賴自己的lib庫,所以在編譯之后的class文件頭部引入自己的lib,而tomcat也依賴於自己的lib)

  存放的是JSP編譯之后的目錄,位置在:%base%\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\Struts\km2umq\jsp_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_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\Struts\km2umq\jsp_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 = "\r\n";
  private static final byte[] _wl_block0Bytes = _getBytes(_wl_block0);
  private static String _wl_block1 = "\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n<title>Insert title here</title>\r\n</head>\r\n<body>\r\n\"";
  private static final byte[] _wl_block1Bytes = _getBytes(_wl_block1);
  private static String _wl_block2 = "\"\r\n</body>\r\n</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_projects\domains\base_domain\lib,如下:

    

 

5.weblogic自帶的lib,類似於tomcat的lib目錄,是weblogic自己啟動所需要的包,一般也是造成沖突包的位置:

  存放位置在:%base%\wlserver\modules

 

6.緩存目錄:

  有時候緩存造成發布問題,所以我每次除了清掉緩存目錄,還要清掉logs目錄和項目tmp目錄,也就是我每次啟動項目都清掉下面三個目錄,每次啟動都會重新生成下面三個目錄:

     

 

 2.weblogic位數查看

  在weblogic安裝目錄下wlserver\server\native\win目錄下根據目錄即可查看,例如我的64位的:

    

 

3.weblogic啟動

   weblogic啟動的程序是在%base%\user_projects\domains\base_domain\startWebLogic.cmd (其內部調用了%base%\\user_projects\domains\base_domain\bin目錄下的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:\weblogic\user_projects\domains\base_domain

call "%DOMAIN_HOME%\bin\startWebLogic.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_projects\domains\base_domain\bin\setDomainEnv.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_projects\domains\base_domain\autodeploy目錄,此目錄相當於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_projects\domains\base_domain\autodeploy目錄下:

 

(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>是設置項目的名稱,/自然就是默認的項目了。


啟動訪問項目進行測試:

 

 
        
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM