在tomcat上全手工部署Servlet3.0
从头写java文件的方式,编译成CLASS文件,加强对SERVLET容器的理解。
稍后试试JAR和WAR包。
文件内容(跟以前用IDE的一样):
HelloServlet.java:
package cc.openhome;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 HelloServlet*/ @WebServlet(urlPatterns = {"/hello.view"}) public class HelloServlet extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public HelloServlet() {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 stubresponse.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();String name = request.getParameter("name");out.println("<html>");out.println("<head>");out.println("<title>Hello</title>");out.println("</head>");out.println("<body>");out.println("<h1> Hello!" + name + "! </h1>");out.println("</body>");out.println("</html>");out.close();}/*** @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);}}
web.xml(这个文件可有可无的,在用servlet3.0注解的情况下,当里,用了注解,也可以定义另一个URL):
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><servlet><servlet-name>firstServlet</servlet-name><servlet-class>cc.openhome.HelloServlet</servlet-class><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>firstServlet</servlet-name><url-pattern>/first.do</url-pattern></servlet-mapping></web-app>
注意目录的摆放:
。HelloServlet.java文件位于C:\apache-tomcat-8.0.30\webapps\First\WEB-INF\classes目录下。 。编译命令为:。C:\apache-tomcat-8.0.30\webapps\First\WEB-INF\classes>javac -cp .;C:\apache-tomcat-8.0.30\lib\servlet-api.jar -d . HelloServlet.java。生成的HelloServlet.class文件位于:C:\apache-tomcat-8.0.30\webapps\First\WEB-INF\classes\cc\openhome目录下。 。web.xml当然位于C:\apache-tomcat-8.0.30\webapps\First\WEB-INF目录下。
于是用
http://127.0.0.1:8080/First/first.do?name=hello
http://127.0.0.1:8080/First/hello.view?name=hello
都会指定到同一个servlet.
在tomcat上全手工部署Servlet3.0相关推荐
- solr7在tomcat上的部署
2019独角兽企业重金招聘Python工程师标准>>> 1.前言 solr是基于lucence的企业级搜索服务器.之前使用的都是4.x版本,但是在5.x之后solr的目录结构已经发生 ...
- android 服务端 servlet webservice,Tomcat 上如何部署Servlet及Android中如何与服务器通信(12页)-原创力文档...
Tomcat 上如何部署Servlet及Android中如何与服务器通信 下载Tomcat并安装 Apache Tomcat powers numerous large-scale, mission- ...
- 在Tomcat上安装部署SAIKU
在Tomcat上安装部署SAIKU Saiku是一个强大的独立工具,用于查询构建数据集市,如:即席查询报表.图表展示.导出报表成excel或csv格式等.Saiku是基于Mondrian OLAP引擎 ...
- Spring MVC-09循序渐进之文件上传(基于Servlet3.0+内置功能)
概述 测试 源码 概述 Spring MVC-09循序渐进之文件上传(基于Apache Commons FileUpload) 上篇博文我们说了基于Apache Commons FileUpload的 ...
- Springmvc文件上传(servlet3.0)/下载(ssm)以及坑点
前言 (补充:再linux服务器上可能没用创建文件的权限,那就需要找到文件夹给权限,比如我的chmod -R 777 /home/tomcat/apache-tomcat-default/webapp ...
- Spring MVC-09循序渐进之文件上传(基于Servlet3.0+Html5客户端上传文件)
示例 测试 源码 虽然Servlet3.0+中上传文件,我们在服务端编程即可非常容易,但是用户体验却不是非常友好.单独的一个HTML表单并不能显示进度条,或者显示已经成功上传的文件数量. 不管是Jav ...
- 解决在Tomcat上手动部署WAR服务器不能自动解压的方法
手动部署文件的方式有很多,其中一个方法是将项目打包成war包,放置到webapps目录下,正常效果是Tomcat自动解压war包,项目至此部署成功,但第一次部署时失效,我首先怀疑Tomcat版本的问题 ...
- 从零开始写项目第八篇【将未完成的项目发布在Tomcat上】
tags: 从零开发项目, title: 从零开始写项目第八篇[将未完成的项目发布在Tomcat上] 将项目打包成war包 我使用的是Maven来构建项目的,因此打war包也是非常方便的. 参考链接: ...
- 如何把springboot项目部署到tomcat上
文章目录 一. 企业发布场景 1. 首次发布 2. 非首次发布 3. 全量发布和增量发布概念和区别 二.springboot部署tomcat 2.1. 创建Web初始化类 2.2. 修改打包方式 2. ...
最新文章
- linux服务 ssh
- rail server 启动时报告错误undefine mysql_get_client_info
- 种草之火,何以燎原?
- 【收藏】在 Linux 上以 All-in-One 模式安装 KubeSphere
- mysql 快照能否恢复某个表_mysql全库备份恢复某个表
- redis 超时失效key 的监听触发
- python 调用opencv dll_【问题已解决】python 3.6下安装opencv-python解决cv2 DLL load failed: 找不到指定的模块问题...
- 京东面试题:ElasticSearch深度分页解决方案
- Nginx+Keepalived主备配置
- 【一分钟知识】决策树-ID3,C4.5,CART
- 【Alpha】第七次Scrum meeting
- javascript array map方法
- 【软技能】完全写作指南--演讲
- 使用RoboCopy 命令[转载]
- c语言中快排函数,c语言快排函数详解
- WannaCry勒索病毒处理指南
- OSChina 周二乱弹 —— 有一种蛋蛋的忧伤
- 图片合并pdf 解决Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed
- python通达信模块_通达信转python
- 叮咚买菜两年亏损50亿、上市难解盈利困局,红海市场求突围