开始java
一直都在做php,很想学的是Python,可是还是用java的比较多,因此决定先把java拾起来
1.环境搭建
下载jdk http://www.oracle.com/
windows下设置环境变量
1 2 3 | JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45 PATH=%JAVA_HOME%\bin;%PATH% CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar |
JAVA_HOME 指向的是JDK的安装路径
PATH 增加指向JDK的bin目录
CLASSPATH 搜索CLASS时先查找当前目录的CLASS文件
这样,java、javac命令就可以用了
Test.java
1 2 3 4 5 | public class Test { public static void main(String[] args) { System. out .println( "Hello Java" ); } } |
在命令窗口,
javac Test.java
java Test
2.下载并安装tomcat
Java Web开发 ,需要web服务器,选择Tomcat
下载免安装http://tomcat.apache.org/download-70.cgi
解压
配置环境变量
1 | CATALINA_HOME=D:\Program Files\apache-tomcat-8.5.16 |
重启或注销后,查看
set CATALINA_HOME
启动服务器
startup.bat
关闭服务器
shutdown.bat
安装成服务

service.bat remove
启动服务
net Start Tomcat8
在浏览器,输入127.0.0.1:8080
关闭服务
net stop Tomcat8
3.配置虚拟目录
打开Tomcat目录下的/conf/server.xml文件,在</Host>之前加入红色部分
1 2 3 4 | <Host name= "localhost" appBase= "webapps" unpackWARs= "true" autoDeploy= "true" xmlValidation= "false" xmlNamespaceAware= "false" > <Context path= "/test" docBase= "E:\java_pro\javaWebApp\test" reloadable= "true" debug= "0" /></Host> |
reloadable:如果这个属性设为 true,tomcat 服务器在运行状态下会监视在WEB-INF/classes 和 WEB-INF/lib 目录下 class 文件的改动,如果监测到有 class 文件被更新的,服务器会自动重新加载 Web 应用。
crossContext:如果想在应用内调用 ServletContext.getContext()来返回在该虚拟主机上运行的其他 web application 的 request dispatcher,设为 true。在安全性很重要的环境中设为 false,使得 getContext()总是返回 null。缺省值为 false。
Debug:与这个 Engine 关联的 Logger 记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为 0。
打开Tomcat目录下的/conf/web.xml修改
1 2 3 4 5 6 7 8 9 10 11 12 13 | <servlet> <servlet-name> default </servlet-name> <servlet- class >org.apache.catalina.servlets.DefaultServlet</servlet- class > <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value> true </param-value> </init-param> <load- on -startup>1</load- on -startup> </servlet> |
配置虚拟目录必须要将listings属性设置为True,这样就将该目录下的所有文件都暴露给了用户,给系统的使用带来了一定的风险
重启tomcat,是设置生效
测试
1 | 在E:\java_pro\javaWebApp\test新建index.jsp<br><br> |
1 2 3 4 5 6 7 8 9 10 | <html> <head> <title>test</title> </head> <body> <% out .println( "Hello,world!" ); %> </body> </html> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)