这里的基本目录%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- MINGW64 /g/自己的struts项目的适配/weblogic下调好的项目/Struts
$ pwd
/g/自己的struts项目的适配/weblogic下调好的项目/Struts Administrator@MicroWin10- MINGW64 /g/自己的struts项目的适配/weblogic下调好的项目/Struts
$ ls
html/ img/ index.jsp index2.jsp js/ META-INF/ tag.jsp WEB-INF/ Administrator@MicroWin10- 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>是设置项目的名称,/自然就是默认的项目了。

启动访问项目进行测试:


 

weblogic基本目录介绍,位数查看,启动与发布项目,修改JVM参数,设置项目为默认项目的更多相关文章

  1. 意外断电数据库无法启动牵扯到异步IO的参数设置

    一客户机房新装的UPS不太稳定,好几次意外断电,第3次意外断电之后问题终于来了, 数据库起不来了-- 数据库的硬件环境是一台IBM DS5020存储,2台IBM X3850 X5 软件环境是Linux ...

  2. Mark一篇介绍Java垃圾回收和JVM参数设置的文章

    贴出原文连接:重磅!Java 内存管理白皮书,读完它,java 内存管理的问题完全 NO Problem! 读了一遍,对并行的垃圾回收还不是很理解,先mark,消化消化再学习. 文章说的一些JVM设置 ...

  3. jmeter工作目录介绍、jmeter元件及组件介绍

    一.jmeter工作目录介绍: bin:放置各项配置文件(如日志设置.JVM设置).启动文件.启动Jar包.示例脚本等: docs:放置JMeter API的离线帮助文档: extras:JMeter ...

  4. pycharm启动慢 –xms -xmx相关参数设置

    Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) sp ...

  5. 设置JVM参数,查看堆大小

    1.在eclipse设置JVM参数     打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效,也就是在eclipse中运行的java程序)编辑当前 ...

  6. linux下/etc/rc.d目录的介绍及redhat启动顺序

    init inittab rc0 rc1 rc2 rc3 rc5 rc6 rcS init.d init 系统启动超级进程 inittab 进程启动配置文件 rc0 - rc6 各启动级别的启动脚本 ...

  7. WEBLOGIC的安装、配置和启动

    WEBLOGIC的安装.配置和启动 一.软件安装1. 安装前的准备工作 1.1 首先请确认您要安装的WebLogic版本所在的平台已通过了BEA的认证,完整的认证平台列表请参考 http://e-do ...

  8. JavaWeb——tomcat安装及目录介绍

    一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...

  9. android 源码目录介绍

    Android 4.0源码目录介绍|-- Makefile|-- bionic (bionic C库)|-- bootable  (启动引导相关代码)|-- build (存放系统编译规则及gener ...

随机推荐

  1. Educational Codeforces Round 3 C. Load Balancing

    C. Load Balancing time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  2. MT【213】二次曲线系方程

    (2013北大夏令营)函数$y=x^2+ax+b$与坐标轴交于三个不同的点$A,B,C$,已知$\Delta ABC$的外心$P$在$y=x$上,求$a+b$的值. 解:由二次曲线系知识知三角形的外接 ...

  3. MT【39】构造二次函数证明

    这种构造二次函数的方法最早接触的应该是在证明柯西不等式时: 再举一例: 最后再举个反向不等式的例子: 评:此类题目的证明是如何想到的呢?他们都有一个明显的特征$AB\ge(\le)C^2$,此时构造二 ...

  4. 自学Linux Shell10.1-使用编辑器vim

    点击返回 自学Linux命令行与Shell脚本之路 10.1-使用编辑器vim 所有的 Unix系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在.但是目前我们使用比较多的是 vim 编辑 ...

  5. Java8的Stream流(一) --- 基础用法

    Java8中的Stream Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象. Stream的特性及优点: 无存储. Stream不是一种数据 ...

  6. Luogu 2680 NOIP 2015 运输计划(树链剖分,LCA,树状数组,树的重心,二分,差分)

    Luogu 2680 NOIP 2015 运输计划(树链剖分,LCA,树状数组,树的重心,二分,差分) Description L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之 ...

  7. bzoj3209 花神的数论题——数位dp

    题目大意: 花神的题目是这样的 设 sum(i) 表示 i 的二进制表示中 1 的个数.给出一个正整数 N ,花神要问你 派(Sum(i)),也就是 sum(1)—sum(N) 的乘积. 要对1000 ...

  8. Java: 在dos窗口输入密码,不要把密码直接显示出来,原来可以这么简单

    用下面的方法可以实现在控制台上输入密码时,密码不显示在控制台上:Console cons=System.console(); System.out.print("请输入密码:"); ...

  9. poj 2976(二分搜索+最大化平均值)

    传送门:Problem 2976 参考资料: [1]:http://www.hankcs.com/program/cpp/poj-2976-dropping-tests-problem-solutio ...

  10. Centos7.2安装搜狗拼音

    方法一: Fedora 19/20/21/rawhide 使用以下命令添加源: # yum install dnf-plugins-core # dnf copr enable mosquito/my ...