一、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