- 博客(0)
- 资源 (24)
- 收藏
- 关注
Tomcat监控工具Probe,支持tomcat6-7-8-9.zip
Tomcat监控工具Probe
1.Porbe介绍
psi-probe用于对Tomcat进行监控,比tomcat的manager强大很多。
2.下载
probe-2.3.3.zip 或者 probe.war
3.将下载好的war包,或者zip文件,放在tomcat的webapp目录下
4.配置tomcat-users.xml文件
标签内添加,具体的权限配置,查看下面表格
注:tomcat-users.xm包含了所有Tomcat服务器的注册用户,其中有role(角色)、user(用户)两种信息
(1)role
Tomcat中保存了一些用户权限,也就是角色,比如admin、Tomcat等。用户还可以自定义,通过""来注册一个角色。它只有rolename一个属性,通过这个属性可以把用户的权限进行分配。
(2)User
这个数据项中包含了诸如用户名、用户密码、用户权限、用户说明等数据属性。
probe有 probeuser、poweruser、poweruserplus、manager(针对不同tomcat版本)等角色,对应可操作的功能如下表:
特别注意一点:表格里面的X表示拥有权限,也就是说,manager的权限是最大的,什么都能操作(不推荐配置)。
Features by Role
probeuser poweruser poweruserplus manager
Context: list X X X X
Context: status X X X X
Context: view servlets X X X X
Context: view servlet mappings X X X X
Context: view filters X X X X
Context: view filter mappings X X X X
Context: list attributes X X X X
Context: remove attributes X X X
Context: start X X X
Context: stop X X X
Context: view web.xml X X X
Context: view context.xml X
Context: deploy X
Context: undeploy X
Session: list X X X X
Session: list attributes X X X X
Session: search attributes X X X X
Session: remove attributes X X X
Session: view last-accessed IP X X X X
Session: expire single X X X
Session: expire multiple X X X
JSP: list X X X
JSP: view source X X X
JSP: view servlet source X X X
JSP: compile single X X X
JSP: compile multiple X X X
JSP: compile all on deployment X
JSP: discard all compiled X
Data Source: list X X X X
Data Source: group by JDBC URL X X X X
Data Source: status X X X X
Data Source: reset X X X
Data Source: test X X
Data Source: view query history X X
Data Source: execute SQL X X
Log: list X X X X
Log: tail in real-time X X X X
Log: download X X X X
Thread: list X X X X
Thread: view execution stack X X X
Thread: kill X
Connector: status X X X X
Connector: real-time usage charts X X X X
Cluster: status X X X X
Cluster: real-time traffic charts X X X X
JVM: real-time memory usage charts X X X X
JVM: status X X X X
JVM: advise GC X
Java Service Wrapper: status X X X X
Java Service Wrapper: restart JVM X
System: overview X X X X
System: properties X X X X
System: OS details X
Quick Check: execute X
5.启动tomcat,访问http://localhost:8080/probe/
6.probe使用介绍
Applecations:tomcat上面正在跑的应用,可以看到每个应用的状态、请求数、session数等,点进去可以查看详细信息
Data Sources:tomcat的数据源,我这里没有配置数据源
Deployment:代码部署,选择一个war并部署。我这边没用这个东西来部署过代码,用脚本来实现
Logs:tomcat日志
Threads:tomcat线程,可以查看线程的状态等信息,还可以杀死线程
Cluster:tomcat集群
System Information:系统信息
Connectors:connector信息,可以看到每秒的请求数、响应时间等
Quick check:快速检测tomcat的数据源、内存等
2019-12-12
word转PDF工具类.zip
word转PDF工具类
package com.zht;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import com.aspose.words.Document;
import com.aspose.words.SaveFormat;
public class Word2PdfUtilt {
public static void main(String[] args) {
doc2pdf("F:\\1\\1032.docx","F:\\1\\1032.pdf");
}
public static void doc2pdf(String inPath, String outPath) {
FileOutputStream os =null;
try {
File file = new File(outPath); // 新建一个空白pdf文档
os = new FileOutputStream(file);
Document doc = new Document(inPath); // Address是将要被转化的word文档
doc.save(os, SaveFormat.PDF);
} catch (Exception e) {
e.printStackTrace();
}finally{
if(os!=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
2019-12-12
pdfbox-2.0.17.zip pdf文件合并拼接
pdf文件合并拼接
package com.zht;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.pdfbox.io.MemoryUsageSetting;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
public class PdfFileUtil {
/**
* pdf合并拼接
* @Title:mulFile2One
* @Description: TODO
* @date 2019年9月22日 上午10:05:37
* @author yqwang
* @param files 文件列表
* @param targetPath 合并到
* @return
* @throws IOException
*/
public static File mulFile2One(List<File> files,String targetPath) throws IOException{
// pdf合并工具类
PDFMergerUtility mergePdf = new PDFMergerUtility();
for (File f : files) {
String hz = f.getName().split("\\.")[1].toLowerCase();
if(!hz.equals("pdf")) {
continue;
}
if(f.exists() && f.isFile()){
// 循环添加要合并的pdf
mergePdf.addSource(f);
}
}
// 设置合并生成pdf文件名称
mergePdf.setDestinationFileName(targetPath);
// 合并pdf
mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
return new File(targetPath);
}
public static void main(String[] args) throws IOException {
List<File> files = new ArrayList<File>();
String pathname = "F:\\1";
String targetFileName = "/abc.pdf";
File file = new File(pathname);
for (File f : file.listFiles()) {
files.add(f);
}
File targetFile = new File(pathname+targetFileName);
if(targetFile.exists()) {
targetFile.delete();
}
File f = mulFile2One(files, targetFile.getAbsolutePath());
System.out.println(f.length());
}
}
2019-12-12
Spire.Pdf.zip 读取PDF文件中的信息
读取PDF文件中的信息
package com.zht;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
public class ReadPDF {
public static void main(String[] args) {
//需要复制的目标文件或目标文件夹
String pathname = "F:\\读取PDF中的信息";
// File file = new File(pathname);
List list = new ArrayList();
readFile(pathname,list);
for(int j=0;j<list.size();j++) {
// System.out.println("当前第"+(j+1)+"个----"+list.get(j));
//创建PdfDocument实例
PdfDocument doc = new PdfDocument();
//加载PDF文件
doc.loadFromFile(list.get(j));
StringBuilder sb = new StringBuilder();
PdfPageBase page;
//遍历PDF页面,获取文本
for (int i = 0; i < doc.getPages().getCount(); i++) {
page = doc.getPages().get(i);
sb.append(page.extractText(true));
}
// System.out.println(sb.toString());
String str = getStr(sb.toString());
System.out.println(str);
String[] arr = str.split(";");
String gh = "";
String gw = "";
for(int i=0;i<arr.length;i++) {
arr[i] = arr[i].trim();
if(i==0) {
gh = arr[i];
}else if(i==1) {
gw = arr[i];
}else {
arr[i] = arr[i].replace(gh, "").replace(gw, "");
}
}
// System.out.println();
insertSQL(arr);
// FileWriter writer;
// try {
////将文本写入文本文件
// writer = new FileWriter("f://ExtractText.txt");
// writer.write(sb.toString());
// writer.flush();
// } catch (IOException e) {
// e.printStackTrace();
// }
doc.close();
}
}
public static String getStr2(String str) {
try {
byte[] bs = str.getBytes("utf-8");
for(int i=0;i<bs.length;i++) {
byte b = bs[i];
if(b==0) {
bs[i]=9;
}
}
str =
2019-12-12
IOS 简单传值工具类(HTPassValueTool)
- 引入工具类(HTPassValueTool)
- 就可简单的实现控制器之间 对象之间的传值.
- 此工具类是单例使用,不用创建该工具类的对象.
- 传递的参数可以是任意对象,但不包括基本数据类型.如:int/float/char等类型.遇到传递这些类型时可以先进行封装再传递.
- 传递与获取数据时使用键值(KEY)作为取值的参数.
使用方法:1.设值:setValue(值, 键);
2.取值:getValue(键);
3.对象名或变量名转字符串充当KEY: NSString *varName = vs(对象或变量);
4.获取工具类单例:SHTPV
5.获取数据存储字典:NSDictionary *dict = [SHTPV getDict];
6.清除全部传递的数据:[SHTPV clearVars];
2015-12-28
IOS 简单传值工具类(HTPassValueTool) 编辑
IOS 简单传值工具类
引入工具类(HTPassValueTool)
就可简单的实现控制器之间 对象之间的传值.
此工具类是单例使用,不用创建该工具类的对象.
传递的参数可以是任意对象,但不包括基本数据类型.如:int/float/char等类型.遇到传递这些类型时可以先进行封装再传递.
传递与获取数据时使用键值(KEY)作为取值的参数.
使用方法:1.设值:setValue(值, 键);
2.取值:getValue(键);
3.对象名或变量名转字符串充当KEY: NSString *varName = vs(对象或变量);
4.获取工具类单例:SHTPV
5.获取数据存储字典:NSDictionary *dict = [SHTPV getDict];
2015-12-28
Eclipse3.3+Eclipseme1.7.6+wtk2.5.2 配置JAVA ME开发环境
Eclipse3.3+Eclipseme1.7.6+wtk2.5.2 配置JAVA ME开发环境
2008-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人