使用javac命令编译Servlet,并将其放入tomcat中运行
- 首先我在桌面上新建了一个txt文件,编辑内容(内容来自菜鸟教程)为:
// 导入必需的 java 库 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // 扩展 HttpServlet 类 public class HelloWorld extends HttpServlet { private String message; public void init() throws ServletException { // 执行必需的初始化 message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应内容类型 response.setContentType("text/html"); // 实际的逻辑是在这里 PrintWriter out = response.getWriter(); out.println("<h1>" + message + "</h1>"); } public void destroy() { // 什么也不做 } }
保存,将文件命名为HelloWorld(和主类名一致),文件后缀为.java。
2. 然后按住shift键不放,鼠标右击桌面空白处,选择“在此处打开PowerShell窗口”,输入javac命令执行编译,报错如下。
解决办法:javac 有一个encoding参数,于是改为javac -encoding utf-8 .\HelloWorld.java,再次执行命令,错误如下。
解决办法:原来依赖的jar包还没导进去,要怎么导入呢?在环境变量->系统变量下,新建(如果没有的话)变量CLASSPATH,选择“浏览文件”,找到桌面上的jar文件(可以用Everything搜索jar包位置)。
再次执行,还是报错,重新打开PowerShell,编译成功。
3. 把生成的class文件放到tomcat目录如E:\Program Files\apache-tomcat-7.0.68下的webapps\ROOT\WEB-INF\classes文件夹下,我发现WEB-INF下没有classes文件,便新建了一个。
同时修改WEB-INF下的web.xml文件,在<web-app>标签中添加如下代码:
<servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping>
4. 保存后,到tomcat目录下的bin文件下找到startup.bat双击运行。
等到出现如下信息,表示启动成功,注意http端口号,一般默认为8080。
5. 最后就可以在浏览器上输入localhost:8080/HelloWorld访问servlet了
Higher, faster, stronger!