HTTP之使用HTTP+JAVA构建应用
1、HTTP请求服务器的简单实现(开发)
下载Java jdk : www.oracle.com
添加到环境变量 JAVA_HOME(C:\Program Files\Java\jdk1.8.0_251)、path(%JAVA_HOME%\bin)
下载中间件 tomcat
下载java ide Eclipse
新建文件firstHttp(java project)
右键选择build path -->configure -->Add External JARs-->选择servlet-api.jar -->add 加入进来
导入apache-tomcat-9.0.37/lib/servlet-api.jar
在firstHttp/src 增加一个package,名字为com.test.servlet
在com.test.servlet 包下新建一个类class,名字为 FirstServlet
编写FirstServlet
package com.test.servlet; import java.io.IOException; import javax.servlet.*; public class FirstServlet extends GenericServlet{ @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub res.getWriter().write("call success"); } }
在\apache-tomcat-9.0.37\webapps 新建文件 firsthttp
在\apache-tomcat-9.0.37\webapps\firsthttp 新建文件 WEB-INF
存的是真正的程序应用,在该目录下新建两个以下文件
classes 编译好的name
lib 所依赖的包
对代码执行project/Build project操作
把编译好的类com :从\firstHttp\bin下的com复制到\apache-tomcat-9.0.37\webapps\firsthttp\classes目录下
把apache-tomcat-9.0.37/lib/servlet-api.jar复制到apache-tomcat-9.0.37\webapps\firsthttp\WEB-INF\lib目录下
web.xml:正式配置访问的关系
复制apache-tomcat-9.0.37\webapps\examples\WEB-INF\web.xml 到
apache-tomcat-9.0.37\webapps\firsthttp\WEB-INF\目录下
打开复制后的web.xml文件,删除25-104代码
修改第一组servlet 的servlet-name 为:<servlet-name>FirstServlet</servlet-name>
servlet-class 为:<servlet-class>com.test.servlet.FirstServlet</servlet-class>
删掉30-58后面的servlet,直至servlet-mapping
修改第一个servlet-mapping为
<servlet-mapping> <servlet-name>FirstServlet</servlet-name> <url-pattern>/FirstRequest</url-pattern> </servlet-mapping>
后面的都可以删掉了
启动,点击apache-tomcat-9.0.37\bin\startup.bat
浏览器输入http://127.0.0.1:8080/firsthttp/FirstRequest
显示“call success"即表示简单的http服务启动成功
2.新建一个动态的web工程
右键新建一个other ,搜索dy,选择Dynamic Web Project ,新建一个动态的web工程
文件名为testHttp,点两下next,然后勾上自动生成web.xml,finish 成功
在Java Resources/src 新建一个servlel,如图
然后finish
右键选择build path -->configure -->Add External JARs-->选择servlet-api.jar-->add 加入进来
修改web.xml为
<welcome-file-list> <welcome-file>test.html</welcome-file> </welcome-file-list> 在testHttp/WebContent new一个file test.html文件,如下: <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>INsert title here</title> </head> <body> <form action="HttpTest" method="get"> <input type="text" name="test1"> <input type="submit" value="get method"> </form> <form action="HttpTest" method="post"> <input type="text" name="test2"> <input type="submit" value="post method"> </form> </body> </html>
在web.xml里增加新的
<servlet> <servlet-name>HttpTest</servlet-name> <servlet-class>com.HttpTest</servlet-class> </servlet> <servlet-mapping> <servlet-name>HttpTest</servlet-name> <url-pattern>/HttpTest</url-pattern> </servlet-mapping> 修改HttpTest.java package com; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Test */ public class HttpTest extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public HttpTest() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //response.getWriter().append("Served at: ").append(request.getContextPath()); PrintWriter writer = response.getWriter(); writer.println("this is the get method. test1="+request.getParameter("test1")); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //doGet(request, response); PrintWriter writer = response.getWriter(); writer.println("this is the post method. test2="+request.getParameter("test2")); } }
点击下方servers启动;
选择你下载的那个版本目录tomcat
最后点finish
然后点击右侧的类似播放按钮启动server
去浏览器输入http://127.0.0.1:8080/testHttp/ 能打开就说明正常
可能这个时候都会报错,可能是缓存问题,清掉就行了。
project-->clear一下,然后重新build path -->configure,重启一下server
再试一下,OK了
3、http 服务的搭建部署(运维篇)
打包程序 右键export--> war file -->存到桌面testHttp.war
把该文件放到apache-tomcat-9.0.37\webapps 下
tomcat会自动解压成项目路径
停掉Tomcat的,点击bin/startup.bat 启动
这个时候testHttp.war 被解压成testHttp
http://127.0.0.1:8080/testHttp/
测试是否成功
http://127.0.0.1:8080/ 检测tomcat是否是最新的版本号
以上是在windows情况下,要考虑在linux情况
打开xshell连接linux服务器
HTTP抓包分析实践
抓包分析工具:progress telerik fidder web debugger