javaweb回顾第二篇tomcat和web程序部署

  前言这篇主要说下关于tomcat中一些属性和web程序的简单部署,可能在实际开发有更好的部署方式,但是这也是一个基础。

1:tomcat

关于tomcat估计只要接触java的人都听过这个名字,那我们都知道Servlet运行的话需要一个运行环境,也就是我们常说的Servlet容器,那么tomcat就是一个免费开源的Servlet容器。做过.net开发的应该知道IIS,其实tomcat和IIS一样都是具有处理HTMl页面的能力,当然也能处理Servlet和jsp。

下面是一个tomcat服务器接收客户端请求并响应的流程

2:一个简单的小程序

下面是我写的一个简单程序来部署在tomcat

复制代码
 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <body>
 6     <form action="user/login" method="post">
 7         请输入用户名:<input type="text" name="userName" /> 
 8         <input type="submit" value="提交" />
 9     </form>
10 </body>
11 </html>
index.jsp
复制代码
复制代码
1 //核心代码
2 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
3         response.setContentType("text/html;charset=gb2312");//避免中文乱码
4         PrintWriter out=response.getWriter();
5         String userName=request.getParameter("userName");
6         out.println("欢迎你:"+userName);
7     }
UserServlet
复制代码
复制代码
 1 <!DOCTYPE web-app PUBLIC
 2  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 3  "http://java.sun.com/dtd/web-app_2_3.dtd" >
 4 
 5 <web-app>
 6     <display-name>Archetype Created Web Application</display-name>
 7     <servlet>
 8         <servlet-name>UserServlet</servlet-name>
 9         <description></description>
10         <servlet-class>com.lp.servlet.UserServlet</servlet-class>
11     </servlet>
12     <servlet-mapping>
13         <servlet-name>UserServlet</servlet-name>
14         <url-pattern>/user/login</url-pattern>
15     </servlet-mapping>
16 </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应用程序,但是他们的上下文是唯一的。上下文跟就是你的应用程序名。

posted @   朝向远方  阅读(645)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示