Tomcat+JSP经典配置实例

经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
  
  一、开发环境配置
  
  第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.5.0 Documentation,然后到tomcat官方站点(http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi)下载tomcat(下载最新5.5.9版本的tomcat);
  
  第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
  
  1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
  
  JAVA_HOME=c:\j2sdk1.5.0
  classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
  path=%JAVA_HOME%\bin
  
  接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
  
  public class Test{
  public static void main(String args[]){
  System.out.println("This is a test program.");
  }
  }
  
  将上面的这段程序保存为文件名为Test.java的文件。
  
  然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
  
  javac Test.java
  java Test
  
  此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
  
  2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
  
  CATALINA_HOME=c:\tomcat
  CATALINA_BASE=c:\tomcat
  
  然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
  
  classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
  
  接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
  
  第三步:建立自己的jsp app目录
  
  1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
  2.在webapps目录下新建一个目录,起名叫myapp;
  3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
  4.WEB-INF下新建一个文件web.xml,内容如下:
  
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <!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>My Web Application</display-name>
  <description>
  A application for test.
  </description>
  </web-app>

此处若之间copy 报错,请参考tomcat自带的例子进行修改
  
  5.在myapp下新建一个测试 的jsp页面,文件名为index.jsp,文件内容如下:
  <html><body><center>
  Now time is: <%=new java.util.Date()%>
  </center></body></html>
  
  6.重启Tomcat
  
  7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
  
  第四步:建立自己的Servlet:
  
  1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
  
  package test;
  import java.io.IOException;
  import java.io.PrintWriter;
  import javax.servlet.ServletException;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  public class Test extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
  PrintWriter out=response.getWriter();
  out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
  out.flush();
  }
  }
  
  2 .编译
  将Test.java放在c:\test下,使用如下命令编译:
  
  C:\Test>javac Test.java
  
  然后在c:\Test下会产生一个编译后的servlet文件:Test.class
  
  3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
  
  4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
  
  编辑后的web.xml如下所示,红色为添加的内容:
  
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <!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>My Web Application</display-name>
  <description>
  A application for test.
  </description>
  <servlet>
  <servlet-name>Test</servlet-name>
  <display-name>Test</display-name>
  <description>A test Servlet</description>
  <servlet-class>test.Test</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>Test</servlet-name>
  <url-pattern>/Test</url-pattern>
  </servlet-mapping>
  </web-app>
  
  这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
  
  5 .好了,重启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
  
  注意:修改了web.xml以及新加了class,都要重启Tomcat
  
  第四步:建立自己的Bean:
  
  1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
  
  package test;
  public class TestBean{
  private String name = null;
  public TestBean(String strName_p){
  this.name=strName_p;
  }
  public void setName(String strName_p){
  this.name=strName_p;
  }
  public String getName(){
  return this.name;
  }
  }
  
  2 .编译
  
  将TestBean.java放在c:\test下,使用如下命令编译:
  
  C:\Test>javac TestBean.java
  
  然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
  
  3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
  
  4 .新建一个TestBean.jsp文件,文件内容为:
  
  <%@ page import="test.TestBean" %>
  <html><body><center>
  <%
  TestBean testBean=new TestBean("This is a test java bean.");
  %>
  Java bean name is: <%=testBean.getName()%>
  </center></body></html>
  
  5 .好了,重启Tomcat,启动浏览器,输入http://localhost:8080/myapp/TestBean.jsp 如果看到输出Java bean name is: This is a test java bean.就说明编写的Bean成功了。
  
  这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。接下来需要做的事情就是多看书、多读别人的好代码,自己多动手写代码以增强自己在这方面开发的能力了。
  
  jvm应填写到
  c:\j2sdk\bin
  
  给你一个简单的配置::::
  
  JSP环境配置心得
  
  首先要说的是,使用jdk+tomcat完全可以配置我们的jsp服务器,不再需要其实任何东东,有很多文章介绍了Apache,其实根本用不着,一般的学习调试tomcat完全可以胜任了。
  
  安装jdk后,tomcat在安装之前会自动找到jdk的安装路径,一路点击"下一步",经过一段时间的文件复制,最后"close",完成comcat的安装。
  
  您最好去下载一个版本较高的tomcat,比如4.1以上的,因为它不需要设置太多的系统变量,右击"我的电脑",选择"属性"->"高级"->"环境变量"->"系统变量",新建一个TOMCAT_HOME,值设置成你的tomcat所在的路径,比如:D:\Program Files\Apache Group\Tomcat 5.5,配置完成。
  
  从开始菜单中找到tomcat选项,一般打开顺序是:开始->程序->Apache Tomcat 5.5,选择"Start Tomcat",让jsp服务器开始运行,此时会打开一个类似Dos的窗口,会显示一些相关的信息。

如果有高级的IDE,编译过程就没这么麻烦,Tomcat+JSP经典配置实例

转载于:https://www.cnblogs.com/u0mo5/p/4100937.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python海龟编辑器画小汽车_【海龟编辑器下载】海龟编辑器(Python编辑器) v1.3.4 官方免费版-趣致软件园...

海龟编辑器是一款专为广大少儿打造的Python编辑器&#xff0c;该软件功能强大且使用便利&#xff0c;可以帮助孩子们以搭积木的方式来学习Python&#xff0c;并且支持Python代码和图形化积木的双向互相转译&#xff0c;不但可以有效提升孩子的学习兴趣&#xff0c;而且还能够降…

.net 页面之间传值的几种方法!(转)

QueryString传值&#xff1a;1. 这是最简单的传值方式&#xff0c;但缺点是传的值会显示在浏览器的地址栏中且不能传递对象&#xff0c;只适用于传递简单的且安全性要求不高的整数值&#xff0c;例如&#xff1a; 2. 新建一个WEB项目&#xff0c;添加一个页面命名为Test1&#…

微信小程序中组件的使用

微信小程序中组件的使用&#xff1a; 微信小程序中组件定义在项目根目录下components文件夹下&#xff0c;在页面使用的时候需要在页面的json文件中声明&#xff0c;如 父组件向子组件传值及子组件向父组件传值&#xff1a; 父组件wxml中&#xff1a;通过属性绑定值的方式向…

mysql允许所有用户连接_Mysql权限控制 - 允许用户远程连接

Mysql为了安全性&#xff0c;在默认情况下用户只允许在本地登录&#xff0c;可是在有此情况下&#xff0c;还是需要使用用户进行远程连接&#xff0c;因此为了使其可以远程需要进行如下操作&#xff1a;一、允许root用户在任何地方进行远程登录&#xff0c;并具有所有库任何操作…

mysql id 不在集合里面_MySQL,PHP:从表中选择*,其中id不在数组中

所以我现在有一个数据库表&#xff0c;我试图选择所有记录&#xff0c;除了包含在我所做的数组中的所有记录。正如一些背景方面&#xff1a;MySQL&#xff0c;PHP&#xff1a;从表中选择*&#xff0c;其中id不在数组中在有问题的数据库表的结构是&#xff1a;server_status:id …

#并行优化# 容错算法 (Fault Tolerant)

容错算法 (Fault Tolerant) 容错算法 (Fault Tolerant) 转载于:https://www.cnblogs.com/daijkstra/p/4105305.html

python人工智能pdf_800G人工智能学习资料:AI电子书+Python语言入门+教程+机器学习等限时免费领取!...

人工智能的热潮在今年再创高峰。无论是政策上还是资本市场上&#xff0c;抑或是我们日常生活中&#xff0c;关于人工智能的消息从未间断&#xff0c;逐渐占据我们每个人的视线。可以看出&#xff0c;人工智能得到了由上至下&#xff0c;国内国外的一致支持。 基于这股热潮&…

mysql rpm 安装多实例_MySQL多实例安装

MySQL多实例安装1、配置3306实例1.1、查询服务器上是否已经安装的mysql[rootmasterMySQL-5.6.25-1.el6.x86_64.rpm-bundle]# rpm -aq | grep mysqlmysql-server-5.1.66-2.el6_3.x86_64mysql-libs-5.1.66-2.el6_3.x86_64mysql-devel-5.1.66-2.el6_3.x86_64qt-mysql-4.6.2-25.el6…

如何保证交叉表编译器和目标系统版本一致_嵌入式系统词汇表

欢迎FPGA工程师加入官方微信技术群点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群AASIC(专用集成电路) Application-Specific Integrated Circuit. A piece of custom-designed hardware in a chip. 专用集成电路。一个在一个芯片上定制设计的硬件。address bus (地…

Oracle 以某字段分组,以某字段排序,取前几条

select * from (select row_number() over(partition by 以此字段为分组 order by 以此字段排序 desc rn from dual) where rn1 --表示取第一个 如&#xff1a; id date 1 11/04 1 11/08 1 11/12 2 11/03 2 11/01 结果 id date 1 11/12 2 11/03 SQL select…

mysql手机号11_我用不小心用 mysql 的int(11) 存了 手机号,数据都有问题,有办法恢复么?...

对不起LZ了&#xff0c;这个答案正像Sunyanzi指出的&#xff0c;MySQL不是把高位字节吃掉而是转成了Int的最大值。考虑到原先提交的答案还是花了点心思写的&#xff0c;就还留在这里了&#xff0c;也许对其他高位字节溢出的问题有所帮助。这个有点意思&#xff0c;问题出在int只…

java中Collections、Map集合、HashMap集合、LinkedHashMap集合、Hashtable集合、List/Map/Set接口静态方法of

Collections:集合工具类&#xff1a; Collections是一个集合的工具类&#xff0c;通过此类可以调用操作集合的api&#xff0c;但是只能操作list结合&#xff0c;不能操作set集合&#xff0c;如下&#xff1a; Person类&#xff1a;用于集合存储自定义元素时创建自定义对象&am…

动态定义数组

首先&#xff1a;为什么需要动态定义数组呢&#xff1f; 这是因为&#xff0c;很多情况下&#xff0c;在预编译过程阶段&#xff0c;数组的长度是不能预先知道的&#xff0c;必须在程序运行时动态的给出 但是问题是&#xff0c;c要求定义数组时&#xff0c;必须明确给定数组的…

sql随机抽取数据50条_厉害!苏宁通过citus打造分布式数据库抗住DB高负载

2018-07-16 23:59内容来源&#xff1a;2017 年 10 月 20 日&#xff0c;苏宁云商IT总部资深技术经理陈华军在“PostgreSQL 2017中国技术大会”进行《苏宁citus分布式数据库应用实践》演讲分享。IT 大咖说&#xff08;微信id&#xff1a;itdakashuo&#xff09;作为独家视频合作…

mysql四种事务级别_【MySQL 知识】四种事务隔离级别

摘要&#xff1a;本篇文章主要是为了对MySQL的四种事务隔离级别的介绍。为了保证数据库的正确性与一致性&#xff0c;数据库事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。事务的四种隔离级别根据隔离级别由低到高分别为读未提交(R…

java中Debug调试、异常的概念、异常体系、处理异常的关键字try/catch/finally/throw/throws、多个异常使用捕获并处理的方式、继承关系中处理异常、自定义异常类

Debug调试&#xff1a; bug指程序当中遇到的一些错误异常&#xff0c;Debug指调试bug,找到bug对其解决&#xff1b;debug可以让代码逐行执行&#xff0c;查看代码执行的过程&#xff0c;调试程序中出现的bug或异常。 public class DebugClass {public static void main(Strin…

densenet网络结构_FC-DENSENET用于图像分割学习笔记

近日使用FC Dense Net 做分割&#xff0c;记录学习使用过程。FC-DenseNet 原文链接&#xff1a;https://arxiv.org/abs/1611.09326 《The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation》初次使用此网络&#xff0c;第一眼是被这个名…

mongodb mysql资源占用_如何限制mongodb启动时占用过多内存

默认情况下&#xff0c;mongodb占用的内存大小为&#xff1a;Starting in 3.4, the WiredTiger internal cache, by default, will use the larger of either:50% of RAM minus 1 GB, or256 MB.下面我们来看一下限制mongodb启动时占用内存的方法&#xff1a;新增配置文件 /etc/…

手机网站判断及跳转

现在智能手机上网越来越普遍了&#xff0c;为了获得用户体验增加网站流量&#xff0c;你有必要为你的网站增加一个访问端设备的判断功能&#xff0c;若发现是手机用户访问&#xff0c;则直接跳转到手机站&#xff0c;通过百度的APP site&#xff0c;很容易就可实现这功能。只需…

js ...运算符_「 giao-js 」用js写一个js解释器

前言在这篇文章中,我们将通过 JS 构建我们自己的 JS 解释器,用 JS 写 JS,这听起来很奇怪,尽管如此,这样做我们将更熟悉 JS,也可以学习 JS 引擎是如何工作的!什么是解释器 (Interpreter) ?解释器是在运行时运行的语言求值器,它动态地执行程序的源代码。 解释器解析源代码,从源代…