项目结构
最开始要手动创建的目录与文件
折叠代码块
复制代码
1 2 3 4 5 6 7 8 9 10 11 12
| projectName 项目名称 ├── ml │ └── lightly │ └── demo 包源码目录结构 │ └── Test.java 测试的java文件 ├── WEB-INF │ ├── classes 放java文件的包和类 │ ├── lib 放java类的依赖包 │ └── web.xml 进行javaweb的一些配置 ├── index.html 主页面 ├── css css文件 └── js 放js文件
|
index.html
折叠代码块HTML
复制代码
1 2 3 4
| <form action="/projectName/test" method="get"> <input name="hello" value="world"> <input type="submit" value="submit it"> </form>
|
下载所需jar包
在mvnrepository下载fastjson,放到lib目录,一会需要。
web.xml常用配置
折叠代码块XML
复制代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>dsj</display-name> <servlet> <servlet-name>HandleServer</servlet-name> <servlet-class>ml.lightly.demo.Test</servlet-class> </servlet> <servlet-mapping> <servlet-name>HandleServer</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
|
Test.java
我这里使用的是vscode,安装了Java Extension Pack,需要导入依赖jar包,可以参考这里。不导入会报错。
需要导入lib/fastjson-1.2.47.jar和tomcat目录/lib/servlet-api.jar
如果用普通记事本编写,则不需要导入。
这里是一个简单的servlet模板
折叠代码块JAVA
复制代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| package ml.lightly.demo;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
public class Test extends HttpServlet{ public void init() {}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ response.setCharacterEncoding("UTF-8"); response.setContentType("application/json"); JSONObject json = new JSONObject(); PrintWriter writer = response.getWriter(); try { json.put("key", "value"); } catch (Exception e) { e.printStackTrace(); } finally { writer.print(json); writer.flush(); writer.close(); } response.getWriter().print(json); }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ doGet(request, response); } }
|
java命令行编译
折叠代码块BASH
复制代码
1 2 3 4 5
|
javac -cp projectName路径/WEB-INF/lib/fastjson-1.2.47.jar:tomcat目录/lib/servlet-api.jar -encoding utf-8 -d projectName路径/WEB-INF/classes/ Test.java
|
运行
将projectName整个文件夹复制到tomcat/webapps下
projectName下的ml/lightly/demo这整个文件夹就没用了,里边放的是源码,不运行源码,所以可以不复制
在tomcat/bin下运行如下命令
然后在界面访问localhost:8080/你的projectName/test,点击submit,就可以返回我们servlet返回的json了
v1.5.2