你的位置:首页 > Java教程

[Java教程]基础知识回顾第二篇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.

然后项目打成war包 直接放在tomcat中的webapps下

我们看下tomcat的目录

然后打来bin然后运行startup.bat批处理文件打开http://localhost:8080/web-deploy/index.jsp就会出现我们要的效果

另一种方式部署

在conf\Catalina\localhost新建一个

<Context path="/web-deploy" docBase="C:\91\web-deploy" reloadable="true" />

其中path指定web程序的上下文路径,docBase指定web程序的根目录 reloadable=true 表示会监视classes文件和lib中文件的变化来自动更新,然后再次其中发现效果一样。

当然你可以通过修改server.

3:总结

这一篇也没什么内容就是帮助自己回忆一下,但是一个web容器是可以有多个web应用程序,但是他们的上下文是唯一的。上下文跟就是你的应用程序名。