Servlet+Tomcat搭建Http服务
来源:互联网 发布:2017双11淘宝销售额 编辑:程序博客网 时间:2024/06/06 08:05
1、下载Tomcat
Tomcat官网下载:http://tomcat.apache.org/
要确保Tomcat与JDK版本对应,此文中采用的是Tomcatv8.0和JDK1.7
查看各版本对应:http://tomcat.apache.org/whichversion.html
2、建web项目
打开eclipse
File -> New -> Dynamic Web Project
-> 输入Project name: MyServlet -> New Runtime… -> Apache Tomcat v8.0
-> Next->Browse -> 选择Tomcat v8.0安装目录 -> 确定 -> Finish
-> Next -> Next -> Generate web.xml…前打钩 -> Finish
3、建Servlet.java
src下新建package: servletTest
servletTest下新建: ServletServer.java
项目文件如下:
4.ServletServer.java
- package servletTest;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.net.URLDecoder;
- public class ServletServer extends HttpServlet {
- private static final long serialVersionUID = -8007568372864896315L;
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setCharacterEncoding("UTF-8");
- response.setContentType("text/html;charset=utf-8");
- PrintWriter out = response.getWriter();
- BufferedReader bufferReader = request.getReader();
- StringBuffer buffer = new StringBuffer();
- String line = "";
- while ((line = bufferReader.readLine()) != null) {
- buffer.append(line);
- }
- String postData = buffer.toString();
- postData = URLDecoder.decode(postData, "utf-8");
- String[] params = postData.split("&");
- String id = null;
- String name = null;
- for (int index = 0; index < params.length; index = index + 1) {
- if (params[index].startsWith("id=")) {
- id = params[index].substring(params[index].indexOf("id=") + "id=".length());
- }
- if (params[index].startsWith("name=")) {
- name = params[index].substring(params[index].indexOf("name=") + "name=".length());
- }
- }
- if (!((null == id || id.isEmpty()) && (null == name || name.isEmpty()))) {
- String ret = "id为" + id + ";name为" + name;
- out.print(ret);
- out.flush();
- out.close();
- } else {
- out.print("无数据");
- out.flush();
- out.close();
- }
- }
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doPost(request, response);
- }
- }
5、web.xml配置
6、运行SercletServer.java
Eclipse会自动弹出一个浏览器,效果如图:
7、HttpRequest
从网上随便找一个HttpRequest来测试一下
- package httpTest;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.io.UnsupportedEncodingException;
- import java.net.URL;
- import java.net.URLConnection;
- import java.net.URLEncoder;
- public class HttpRequest {
- public static void main(String[] args) throws UnsupportedEncodingException {
- String data="id=521&name=宋";
- data=URLEncoder.encode(data, "utf-8");
- String sr = HttpRequest.sendPost("http://localhost:8080/MyServlet/", data);
- System.out.println(sr);
- }
- /**
- * 向指定 URL 发送POST方法的请求
- *
- * @param url
- * 发送请求的 URL
- * @param param
- * 请求参数,请求参数应该是name1=value1&name2=value2 的形式。
- * @return 所代表远程资源的响应结果
- */
- public static String sendPost(String url, String param) {
- PrintWriter out = null;
- BufferedReader in = null;
- String result = "";
- try {
- URL realUrl = new URL(url);
- // 打开和URL之间的连接
- URLConnection conn = realUrl.openConnection();
- // 设置通用的请求属性
- conn.setRequestProperty("accept", "*/*");
- conn.setRequestProperty("connection", "Keep-Alive");
- conn.setRequestProperty("user-agent",
- "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT5.1;SV1)");
- // 发送POST请求必须设置如下两行
- conn.setDoOutput(true);
- conn.setDoInput(true);
- // 获取URLConnection对象对应的输出流
- out = new PrintWriter(conn.getOutputStream());
- // 发送请求参数
- out.print(param);
- // flush输出流的缓冲
- out.flush();
- // 定义BufferedReader输入流来读取URL的响应
- in = new BufferedReader(
- new InputStreamReader(conn.getInputStream()));
- String line;
- while ((line = in.readLine()) != null) {
- result += line;
- }
- } catch (Exception e) {
- System.out.println("发送 POST 请求出现异常!"+e);
- e.printStackTrace();
- }
- //使用finally块来关闭输出流、输入流
- finally{
- try{
- if(out!=null){
- out.close();
- }
- if(in!=null){
- in.close();
- }
- }
- catch(IOException ex){
- ex.printStackTrace();
- }
- }
- return result;
- }
- }
8、http测试结果
9、war包
右键项目 -> Export -> WAR file
把导出的war包放在Tomcat安装目录下的webapps文件夹下
进入Tomcat安装目录下的bin文件夹,双击startup.bat运行
运行刚才的HttpRequest.java,可以得到相同的结果
10、Tomcat?汤姆猫?喵~
阅读全文
1 0
- Servlet+Tomcat搭建Http服务
- tomcat 搭建https服务
- dockerfile搭建tomcat服务
- 搭建Python HTTP服务
- Golang搭建HTTP服务
- http服务搭建
- Python搭建HTTP服务
- linux-http服务搭建
- tomcat启动服务运行servlet
- Servlet—TomCat、HTTP协议
- Mac OS搭建Tomcat服务器, 与客户端使用JSON格式和Servlet进行HTTP通信
- Servlet服务器搭建过程中一些经验 Tomcat+Mysql数据库+http传输
- 阿里云搭建tomcat服务
- nginx http服务搭建配置
- python快速搭建http服务
- http服务-搭建简易的http服务器
- 6、Tomcat配置-Servlet WEB服务容器
- OSGI系列 Servlet-Rest发布Http服务
- Java——反射基础
- git 基本命令
- 类的加载顺序
- centOS7 安装配置 lnmp参考博客整理
- mui初级入门教程(三)— html5+ XMLHttpRequest 与mui ajax用法详解
- Servlet+Tomcat搭建Http服务
- C++之整形
- ORACLE中的rownum
- 知识汇总二(简单光照模型)
- swift4.0 适配
- ES6学习笔记(ES6新增的数组方法)
- java作业
- [日推荐]『花瓣lite』陪你做生活的设计师
- 上传项目到svn