javaweb回顾第二篇tomcat和web程序部署
前言这篇主要说下关于tomcat中一些属性和web程序的简单部署,可能在实际开发有更好的部署方式,但是这也是一个基础。
1:tomcat
关于tomcat估计只要接触java的人都听过这个名字,那我们都知道Servlet运行的话需要一个运行环境,也就是我们常说的Servlet容器,那么tomcat就是一个免费开源的Servlet容器。做过.net开发的应该知道IIS,其实tomcat和IIS一样都是具有处理HTMl页面的能力,当然也能处理Servlet和jsp。
下面是一个tomcat服务器接收客户端请求并响应的流程
2:一个简单的小程序
下面是我写的一个简单程序来部署在tomcat
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<form action="user/login" method="post">
请输入用户名:<input type="text" name="userName" />
<input type="submit" value="提交" />
</form>
</body>
</html>
index.jsp
//核心代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");//避免中文乱码
PrintWriter out=response.getWriter();
String userName=request.getParameter("userName");
out.println("欢迎你:"+userName);
}
UserServlet
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>UserServlet</servlet-name>
<description></description>
<servlet-class>com.lp.servlet.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/user/login</url-pattern>
</servlet-mapping>
</web-app>
web.xml
然后项目打成war包 直接放在tomcat中的webapps下
我们看下tomcat的目录
然后打来bin然后运行startup.bat批处理文件打开http://localhost:8080/web-deploy/index.jsp就会出现我们要的效果
另一种方式部署
在conf\Catalina\localhost新建一个xml文件名字要和你的web程序名保持一致然后然后在加上一个
<Context path="/web-deploy" docBase="C:\91\web-deploy" reloadable="true" />
其中path指定web程序的上下文路径,docBase指定web程序的根目录 reloadable=true 表示会监视classes文件和lib中文件的变化来自动更新,然后再次其中发现效果一样。
当然你可以通过修改server.xml中的port来修改你的端口号
3:总结
这一篇也没什么内容就是帮助自己回忆一下,但是一个web容器是可以有多个web应用程序,但是他们的上下文是唯一的。上下文跟就是你的应用程序名。
最新文章
- 在Eclipse下搭建Android开发环境教程
- 配置eclipse集成开发环境_编译_调试
- 为什么Android 3.0如此罕见?
- UVA 11928 The Busy Dog
- 计算球体积,hdu-2002
- Redis主从环境配置
- Java 拓展之调用其他语言
- day21.模块和包
- Spring Boot应用总结更新
- 模拟Oracle行迁移和行链接
- c#关于var的介绍和用法
- python大法好——Python2.x与3​​.x版本区别
- vue 项目引入字体报错
- 本地计算机上的SQLServer(MSSQLSERVER)服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止
- Effective C++笔记:继承与面向对象设计
- SVMtrain的参数c和g的优化
- Java微笔记(1)
- 运输层和TCP/IP协议
- 让vim的在输入模式下现实光标不同
- spark shell start
热门文章
- error C2065: &#39;INVALID_SET_FILE_POINTER&#39; : undeclared identifier
- css2选择器
- 問題排查:沒有任何多載符合 System.Timers.ElapsedEventHandler 委派
- XE3随笔12:TSuperTableString、TSuperAvlEntry
- python工具的安装
- 使用servers 启动项目时 ,一直处于启动中, 最后出现无法的问题。
- [vb.net]XML File Parsing in VB.NET
- 新浪微博SDK的使用
- SQL Develop SSH远程连接
- 配置ubuntu 16.04.1 LTS odoo 10.0开发环境