Tomcat10安装好之后,文件打不开的一种可能(权限)

直接上干货吧,tomcat文件夹打不开:

 怎么点都点不开,那么参照csdn上其他前辈的心得,得到结论:权限问题

简单说,你当前用户没有打开tomcat的权限

那么右键tomcat文件夹----->属性----->安全---->高级---->权限

 

 点击左下角的“添加”,会弹出:

 

点击选择主体:

 

 对,你现在得把你当前用户对象名称放进去。

如果你不知道当前用户对象是什么,那么点windows,然后你可以看到头像

 鼠标点头像

 

 如图“史小龙”现在就是我的当前账户

 

或者可以直接在搜索框搜“控制面板”

 

 进入控制面板后,右上角“类别”选“小图标”,然后你找“用户账户”,点进去

 

 然后你就找到了当前账户:

 不管第一行是啥,那就是你的当前用户,然后接着上边:将当前账户名输入到如图所示的地方

 点确认:

 

 这里看个人爱好需求勾选了,勾选完,点确认

现在试试打开你的tomcat文件吧,是不是可以进去了呢?

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
JAVA WEB框架,java网站一个模块只用写一个文件 以前的servlet在现在的开发中已经不怎么常见,因为操作起来比较原始和麻烦。有些人就是不安于现状去改造它。 做得好的有Struts,Hybernate,Spring那么这些框架都是很成功的,但是它们在使用的时候都少不了要配置这配置那搞得初学者晕头转向的。那么黄迎斌在些推出最近自己研发一套框架,欢迎大家使用。 此框架将数据库操作简化为0,基本不用管数据库,后台模块只用写一个文件! 框架基础: jdk1.6以上版本, 数据库mysql5.5以上或者access2003以上 netbeans IDE7.0以上。 tomcat7.0以上 java ee 6.0 说明: 这个案例是黄迎斌封装servlet的成功案例,下面就其配置做详细说明。 使用规范: 1.数据表的名字必需和实体POJO类的名字一致。POJO类可以通过另一工具DBReverse自动生成。例如:数据库有user表那么必需有一个POJO类名为User.jsva(大小写忽略) 2.所有表单里面的参数名必需和数据库里面的字段名一致。例如添加一个用户的时候,user表中有name和id两个字段,那么在表单中必需有两个<input>name分别为name和id(大小写忽略) 3.每一个控制层的跳转必需要带上参数mode,mode可为: OTHER//其它,SHOWONE//显示单例,SHOWLIST//显示列表, ADD //添加记录,UPDATE//更新记录, EDIT//编辑记录,DELETE//删除记录(大小写忽略) 包介绍: baseservlet 封装servlet的包不用改,直接引用。 |___DataGet.java封装了request.getParameter的方法。直接给一个实例,它自动根据传来的参数把值set到相应的成员表变中去。 |___GetAdm.java封装了权限获得的方法。有一个常量MANAGEERPOWER数值为管理员权限。做项目时自行设置。(修改“=”后的值就可以) |___HyberbinServlet.java封装了Servlet,以后写的sevlet直接继承这个类就可以。里面有一个抽象类execute,在继承的类中必需实现这个方法。 database 封装了数据库的所有操作,每次配置数据库的时候只需要修改DatabaseINI.java中的相关配置就可以,其它的直接引用。 |___DatabaseAccess.java 封装了底层数据库的操作,可以用来更新、修改、删除、查询操作。注意:这个类只允许DatabaseINI.java调用其它任何类调用都是不规范的。 |___DatabaseINI.java 封装了获得DatabaseAccess的方法,每次项目只需修改dbUrl,dbType,user,pass参数就可以。要获得DatabaseAccess对象只需调用getDatabase()方法就可以。 |___GetSql.java 自动生成sql语句。在本框架中基本上不直接使用。 |___Hyberbin.java 进一步封装了数据库的操作,用户不直接对数据库操作,只要给出实体POJO类,数据可以自动查询、修改、删除、插入 servlet 用户自己的包,完成相应模块的功能。 |___Szdw.java POJO类,对应数据库中szdw表(名字一致),里面所有成员变量都对应数据库表中一个字段。 |___SzdwServlet.java 用户自己写的servlet,在public class 上面一行有如下说明:@WebServlet(name = "SzdwServlet", urlPatterns = {"/Szdw.jsp"})告诉tomcat这个servlet的名字和路径。 框架流程详解: 用户请求:(必需有mode告诉servlet请求类型)-》servlet(获得请求类型转化为event)->调用execute方法(解析event)->调用相应的方法-》发送数据到用户浏览器。 例如本案例中是师资队伍中的相关模块。 要显示整个师资队伍,那么流程如下: 1.用户请求:http://localhost:8080/HybServlet/Szdw.jsp?mode=showlist (注意:必带mode) 2.servlet获得请求类型转化为event=SHOWLIST=2; 3.执行execute方法,解析到SHOWLIST要完成以下动作showlist();send = "szdw.jsp";break;,showlist()中完成收集数据存储在request对象中。 4.send到szdw.jsp即用户看到的师资队伍。 上面的流程servlet除了mode没有需要得到上文有关数据,所以在execute中不需要调用load(formbean)方法。 下面看一下另一种情况,添加一个老师到师资队伍: 1.用户请求:action=Szdw.jsp?mode=add 填写相关的表单,例如xm(姓名),xb(性别)……(表单的name和数据库中字段保持一致) 2.servlet获得请求类型转化为event=ADD=3; 3.执行execute方法,解析到ADD要完成以下动作load(szdw);add();showlist();send = "szdw.jsp";break;,注意load()方法自动将相关参数set到formbean中去不需要用户再调用request.getParameter()。 4.send到szdw.jsp即用户看到的师资队伍。 还有一种情况就是用户所需要接收的参数不在数据库表中,那么调用load()是得不到效果的。那么这时候自己可以按以前的方法用request.getParameter()去获得 Hyberbin工具详解: Hyberbin.java进一步封装了数据库的操作,用户不直接对数据库操作,给数据库的操作带来了极大的简便。其使用方法如下。 1.例如当前要向数据库表szdw中添加数据: 那么在构造Hyberbin的时候需要给出需要插入的szdw数据放在szdw的POJO类中去,还要给出szdw表的主键是id. 现有 Szdw szdw;里面有所有关于要插入这个表的教师的相关信息 构造Hyberbin:Hyberbin hyberbin=new Hyberbin(szdw,"id"); 插入:boolean b = hyberbin.addByNoKey();//因为主键是自动生成不需要加所以是addByNoKey 返回的布尔值告诉用户是否成功。 2.例如要修改师资队伍中id=5的教师信息: 同样在构造Hyberbin的时候需要给出需要修改的数据放在szdw的POJO类中去,还要给出szdw表的主键是id. 现有 Szdw szdw;里面有所有关于要插入这个表的教师的相关信息,包括这个老师的id是等于5的。 构造Hyberbin:Hyberbin hyberbin=new Hyberbin(szdw,"id"); 修改: boolean b = hyberbin.updata(); 返回的布尔值告诉用户是否成功。 3.显示一个id=5的教师的信息 同样在构造Hyberbin的时候需要给出需要查询的数据将放在szdw的POJO类中,szdw可以没有任何信息. 构造Hyberbin:Hyberbin hyberbin=new Hyberbin(new Szdw(),"id"); 查询: szdw=hyberbin.showOne(5+"");//默认id是字符串,如果是数字就加一个""空引号就行 szdw里面就存有所查询到的结果。 4.删除id=5的教师信息 同样在构造Hyberbin的时候需要给出需要删除的数据将放在szdw的POJO类中,szdw可以没有任何信息. 构造Hyberbin:Hyberbin hyberbin=new Hyberbin(new Szdw(),"id"); 修改: boolean b = hyberbin.dell(5+""); 5.要显示所有教师信息 同样在构造Hyberbin的时候需要给出需要查询的数据在哪个表(szdw)中,szdw可以没有任何信息. 构造Hyberbin:Hyberbin hyberbin=new Hyberbin(new Szdw(),"id"); 查询:LinkedList<Object> list = hyberbin.showAll(); 查询结果放在一个链表中了 用的时候用强制类型转换 把Object转换为Szdw就行了。 以在的操作是不是有局限性?删除非要按ID删除?查询的结果不能筛选? 作者已经考虑到这个,下面介绍使用附件。 public void setHql(String Hql) { this.Hql = Hql; } 只要你调用了 setHql(String Hql)的方法,那么它会按照你的hql语句执行查询或者删除修改等操作。 public void setOrder(String order) { this.order = order; } 只要你调用 setOrder(String order) 的方法,查询的结果将按照你给的排序方法排序。 ————————————————————————————————呵呵,一切就这么简单,just do it! hyberbin 2011.10.25 14:12
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的数据源、内存等
您可以使用一个简单的脚本来定时清除Tomcat日志文件。以下是一个示例脚本,使用Shell脚本编写: ```bash #!/bin/bash # 设置Tomcat日志目录 TOMCAT_LOG_DIR="/path/to/tomcat/logs" # 设置要删除的日志文件类型 LOG_FILE_TYPES=("catalina.out" "localhost_access_log.txt" "host-manager.log" "manager.log") # 设置保留的最近日志文件数量 KEEP_RECENT_FILES=5 # 删除旧的日志文件 for log_type in "${LOG_FILE_TYPES[@]}"; do # 找到该类型的所有日志文件 log_files=($(find "$TOMCAT_LOG_DIR" -name "$log_type")) # 确保保留最近的日志文件数量 if [[ ${#log_files[@]} -gt $KEEP_RECENT_FILES ]]; then # 按修改时间排序 sorted_files=($(ls -t "${log_files[@]}")) # 删除除最新的文件外的所有文件 for ((i = $KEEP_RECENT_FILES; i < ${#sorted_files[@]}; i++)); do rm "${sorted_files[$i]}" echo "删除文件: ${sorted_files[$i]}" done fi done echo "清除Tomcat日志完成" ``` 请根据您的实际情况修改脚本中的变量。将`/path/to/tomcat/logs`替换为您Tomcat日志目录的实际路径,并根据需要修改`LOG_FILE_TYPES`和`KEEP_RECENT_FILES`变量。 保存脚本文件,并使用`chmod +x script.sh`命令赋予执行权限。然后,您可以将该脚本添加到cron作业中,以定期运行。例如,要在每天凌晨3点清除Tomcat日志,可以使用以下命令编辑cron作业: ``` crontab -e ``` 然后添加以下行: ``` 0 3 * * * /path/to/script.sh ``` 保存并退出编辑器。现在,脚本将在每天凌晨3点运行,并清除旧的Tomcat日志文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值