一、java--Main函数操作
二、java--Web程序运行
一、编译
看了网上的许多对java指令的介绍之后,自己也想好好运行一下,脱离 集成开发环境 , 写好自己的java程序,没想到上来就碰壁了。实在是对不起学了半年的java啊!
情形是这样的,原来有一个应用工程longkun_app,在src/main/java/com/taobao/jdbc/app/test下有一个java类:Test.java
首先编译:
在dos环境中cd到了src/main/java下,执行javac com.taobao.jdbc.app.test.Test.java失败(一次)
然后cd到src/main/java/com/taobao/jdbc/app/test下,执行javac com.taobao.jdbc.app.test.Test.java执行失败(二次)
不知道怎么办了??
在src/main/java/com/taobao/jdbc/app/test下
再试一下:javac Test.java 终于成功了!
第二是执行:
在src/main/java/com/taobao/jdbc/app/test下执行java Test 失败(三次)
在src/main/java/com/taobao/jdbc/app/test下执行java com.taobao.jdbc.app.test.Test 失败(四次)
又不知道怎么办了???
最后在src/main/java下执行了java com.taobao.jdbc.app.test.Test 居然成功了。
舒一口气。
执行一个简单的java程序这么多次尝试,我这个程序员有点不称职啊!
要继续努力啊!
我在testspace/下com包、my.mf(相当于META-INF中的manifest.mf),就行打成jar包
com/taobao/longkun/Test.java
my.mf:
Manifest-Version: 1.0
Created-By: longkun.wyb
Main-Class: com.taobao.longkun.Test
jar cvfm classes.jar my.mf -C . com
运行Test中的Hello World
java -classpath classes.jar com.taobao.longkun.Test -------这中方式是不指定Main-Class: com.taobao.longkun.Test的方式
java -jar classes.jar
二、web程序运行
写一个servlet的java程序:
package com.taobao.longkun; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet{ /** * */ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request , HttpServletResponse response) throws ServletException ,IOException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("Hello , World"); } }编译上面那个程序时,要依赖一个含有javax.servlet包的jar包,我使用的方法是在 环境变量classpath中设置了jar包的所在位置,例如jar包在D盘下,那么在环境变量下是;D:\servlet-api-2.5.jar.
在dos下javac HelloWorld.java就通过了,获得HelloWorld.class
写一个web.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.taobao.longkun.HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app>
在tomcat的webapp下建一个新的应用hello,即hello文件夹,在hello/下建WEB-INF文件夹
在WEB-INF文件夹下建classes文件夹。
在classes文件夹,将HelloWorld.class放到classes文件夹下,注意的是:如果HelloWorld.java是在com.taobao.longkun包下的,那么HelloWorld.class要放在classes下的com/taobao/longkun下
在WEB-INF文件夹下,放上web.xml。
最后设置一下tomcat的service.xml文件,增加:
<Context path="/hello" docBase="hello.war" debug="0" reloaded="true"/>
启动tomcat,在浏览器上执行localhost:8080/hello/HelloWorld