SpringBoot项目部署在weblogic中间件的注意事项
1、SpringBoot项目Tomcat部署无需手动配置web.xml
但是使用weblogic部署项目时需配置所有相关的监听器和过滤器等。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>com.cebbank.CebbankLoansMeetingApplication</param-value>
</context-param>
<listener>
<listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<filter>
<filter-name>characterEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- <filter>
<filter-name>metricFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>metricFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextAttribute</param-name>
<param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2、只配置web.xml配置文件
部署在weblogic上会失败,需另外配置一个weblogic.xml文件(跟web.xml在同一目录)
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
<wls:container-descriptor>
<wls:prefer-application-packages>
<wls:package-name>org.slf4j</wls:package-name>
</wls:prefer-application-packages>
</wls:container-descriptor>
<wls:context-root>/</wls:context-root>
<wls:virtual-directory-mapping>
<wls:local-path>d:/</wls:local-path>
<wls:url-pattern>/recordings/*</wls:url-pattern>
</wls:virtual-directory-mapping>
</wls:weblogic-web-app>
注意:<wls:virtual-directory-mapping>为虚拟目录相关配置,可用来保存上传的资源,可作为静态资源直接访问
weblogic部署springboot项目中的问题
设置步骤
一、修改setDomainEnv.cmd文件
地址为 XX\user_projects\domains\域名\bin
修改内容:
添加代码段如下(位置建议在图中所示位置):
set debugFlag=true
二、启动weblogic
在命令行上看到Listening for transport dt_socket at address:8453,说明weblogic的debug模式已经启动。
三、eclipse设置
打开Debug Configuration,选择“Remote Java Application”,右键—>new创建一个Debug应用 。
- Name:随便起,方便记忆
- Project:调试的目标工程
- Connection Type:==选中“Standard (Socket Attach)” ==
- Host:weblogic:地址
- port:weblogic:调试端口,默认8453
四、点击Debug按钮进入调试视图,可以开始调试程序了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。