仓酷云
标题:
JAVA编程:Tomcat+JSP典范设置实例
[打印本页]
作者:
透明
时间:
2015-1-18 11:11
标题:
JAVA编程:Tomcat+JSP典范设置实例
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。js 常常看到jsp的初学者问tomcat下怎样设置jsp、servlet和bean的成绩,因而总结了一下怎样tomcat下设置jsp、servlet和ben,但愿对那些初学者有所匡助。
1、开辟情况设置
第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注重下载版本为WindowsOfflineInstallation的SDK,同时最好下载J2SE1.5.0Documentation,然后到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%libdt.jar;%JAVA_HOME%lib ools.jar;(.;必定不克不及少,由于它代表以后路径)
path=%JAVA_HOME%in
接着能够写一个复杂的java程序来测试J2SDK是不是已安装乐成:
publicclassTest{
publicstaticvoidmain(Stringargs[]){
System.out.println("Thisisatestprogram.");
}
}
将下面的这段程序保留为文件名为Test.java的文件。
然后翻开命令提醒符窗口,cd到你的Test.java地点目次,然后键进上面的命令
javacTest.java
javaTest
此时假如看到打印出来Thisisatestprogram.的话申明安装乐成了,假如没有打印出这句话,你必要细心反省一下你的设置情形。
2.安装Tomcat后,在我的电脑->属性->初级->情况变量->体系变量中增加以下情况变量(假定你的tomcat安装在c: omcat):
CATALINA_HOME=c: omcat
CATALINA_BASE=c: omcat
然后修正情况变量中的classpath,把tomat安装目次下的commonlib下的(能够依据实践追加)servlet.jar追加到classpath中往,修正后的classpath以下:
classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;%CATALINA_HOME%commonlibservlet.jar;
接着能够启动tomcat,在IE中会见http://localhost:8080,假如看到tomcat的接待页面的话申明安装乐成了。
第三步:创建本人的jspapp目次
1.到Tomcat的安装目次的webapps目次,能够看到ROOT,examples,tomcat-docs之类Tomcat自带的的目次;
2.在webapps目次下新建一个目次,起名叫myapp;
3.myapp下新建一个目次WEB-INF,注重,目次称号是辨别巨细写的;
4.WEB-INF下新建一个文件web.xml,内容以下:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEweb-app
PUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>MyWebApplication</display-name>
<description>
Aapplicationfortest.
</description>
</web-app>
5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容以下:
<html><body><center>
Nowtimeis:<%=newjava.util.Date()%>
</center></body></html>
6.重启Tomcat
7.翻开扫瞄器,输出http://localhost:8080/myapp/index.jsp看到以后工夫的话申明就乐成了。
第四步:创建本人的Servlet:
1.用你最熟习的编纂器(倡议利用有语法反省的javaide)新建一个servlet程序,文件名为Test.java,文件内容以下:
packagetest;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassTestextendsHttpServlet{
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
PrintWriterout=response.getWriter();
out.println("<html><body><h1>Thisisaservlettest.</h1></body></html>");
out.flush();
}
}
2.编译
将Test.java放在c: est下,利用以下命令编译:
C:Test>javacTest.java
然后在c:Test下会发生一个编译后的servlet文件:Test.class
3.将布局testTest.class剪切到%CATALINA_HOME%webappsmyappWEB-INFclasses下,也就是剪切谁人test目次到classes目次下,假如classes目次不存在,就新建一个。如今webappsmyappWEB-INFclasses下有testTest.class的文件目次布局
4.修正webappsmyappWEB-INFweb.xml,增加servlet和servlet-mapping
编纂后的web.xml以下所示,白色为增加的内容:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEweb-app
PUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>MyWebApplication</display-name>
<description>
Aapplicationfortest.
</description>
<servlet>
<servlet-name>Test</servlet-name>
<display-name>Test</display-name>
<description>AtestServlet</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假如看到输入Thisisaservlettest.就申明编写的servlet乐成了。
注重:修正了web.xml和新加了class,都要重启Tomcat
第四步:创建本人的Bean:
1.用你最熟习的编纂器(倡议利用有语法反省的javaide)新建一个java程序,文件名为TestBean.java,文件内容以下:
packagetest;
publicclassTestBean{
privateStringname=null;
publicTestBean(StringstrName_p){
this.name=strName_p;
}
publicvoidsetName(StringstrName_p){
this.name=strName_p;
}
publicStringgetName(){
returnthis.name;
}
}
2.编译
将TestBean.java放在c: est下,利用以下命令编译:
C:Test>javacTestBean.java
然后在c:Test下会发生一个编译后的bean文件:TestBean.class
3.将TestBean.class文件剪切到%CATALINA_HOME%webappsmyappWEB-INFclasses est下,
4.新建一个TestBean.jsp文件,文件内容为:
<%@pageimport="test.TestBean"%>
<html><body><center>
<%
TestBeantestBean=newTestBean("Thisisatestjavabean.");
%>
Javabeannameis:<%=testBean.getName()%>
</center></body></html>
5.好了,重启Tomcat,启动扫瞄器,输出http://localhost:8080/myapp/TestBean.jsp假如看到输入Javabeannameis:Thisisatestjavabean.就申明编写的Bean乐成了。
如许就完成了全部Tomcat下的jsp、servlet和javabean的设置。接上去必要做的事变就是多看书、多读他人的好代码,本人多下手写代码以加强本人在这方面开辟的才能了。
jvm应填写到
c:j2sdkin
给你一个复杂的设置::::
JSP情况设置心得
起首要说的是,利用jdk+tomcat完整能够设置我们的jsp服务器,不再必要实在任何东东,有良多文章先容了Apache,实在基本用不着,一样平常的进修调试tomcat完整能够胜任了。
安装jdk后,tomcat在安装之前会主动找到jdk的安装路径,一起点击"下一步",经由一段工夫的文件复制,最初"close",完成comcat的安装。
您最好往下载一个版本较高的tomcat,好比4.1以上的,由于它不必要设置太多的体系变量,右击"我的电脑",选择"属性"->"初级"->"情况变量"->"体系变量",新建一个TOMCAT_HOME,值设置成你的tomcat地点的路径,好比:D:ProgramFilesApacheGroupTomcat5.5,设置完成。
从入手下手菜单中找到tomcat选项,一样平常翻开按次是:入手下手->程序->ApacheTomcat5.5,选择"StartTomcat",让jsp服务器入手下手运转,此时会翻开一个相似Dos的窗口,会显现一些相干的信息。
假如您利用代办署理上彀,必定要先撤失落代办署理,否则您的jsp程序永久也得不到实行。假如不是代办署理的,这一步就跳过了。
翻开扫瞄器,在地点栏中输出:http://localhost:8080,假如看到有山君(我也不晓得是山君仍是猫)的画面,祝贺您,您乐成了一半。
先来享用一下乐成的高兴吧,请输出上面的代码:
<html>
<head>
<title>FirstPage</title>
</head>
<body>
<H3>Todayis:h
<%=newjava.util.Date()%>
</H3>
</body>
</html>
将该程序保留为:First.jsp,放到Tomcat的ROOT目次下,然后在扫瞄器的地点栏中输出:http://localhost:8080/First.jsp,(First.jsp跟我们保留的文件名的巨细写要分歧)回车,假如不出不测,应当能够看到形如Todayis:hFriApr1108:32:38CST2003的了局。
注重:ROOT是tomcat的默许假造目次,假如要改成本人的假造目次怎样办呢?请持续往下看吧。
要改成本人的假造目次,就要请出server.xml来了,该文件是一个设置文件,在Tomcatconf目次下,利用任何文本编纂软件都能翻开它,我们先找到上面一句:
<ConnectorclassName="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080"minProcessors="5"maxProcessors="75"
enableLookups="true"redirectPort="8443"
acceptCount="100"debug="0"connectionTimeout="20000"
useURIValidationHack="false"disableUploadTimeout="true"/>
这里的port="8080"就是端口,我们完整能够用其余端口来取代,但不克不及是被体系占用的端口(0--1023),这里复杂提一下。
上面我们再往下找,会发明以下的语句:
</Context>
</Host>
我们就应当找到这两个语句,假如不懂E文,您就认定这两个语句好了。然后我们将该语句变动以下:
</Context>
<Contextpath="/myjsp"debug="0"docBase="e:/myjsp"reloadable="true">
</Context>
</Host>
这里的path="/myjsp"就是我们就设置的假造目次了,今后在地点栏中输出http://localhost:8080/myjsp便可。而docBase="e:/myjsp"则是呆板当地路径,他们经由过程这个语句构成一个映照干系,别的照抄。
将下面的First.jsp文件放到e:/myjsp目次下,输出http://localhost:8080/myjsp/First.jsp,是否是有一种喜上眉梢的感到?
在论坛里我见得最多的就是良多人不晓得javaBean文件放到那里,厚道说入手下手我也不晓得,更使人不解的是,十团体有九种分歧的说法,这更让我们茫然。实在这成绩也不是我们想像的那末庞大,我们以一个例子申明:
先创建一个java程序,代码以下:
packagehall;
publicclassSimpleBean{
privateStringmessage="Nomessagespecified";
publicStringgetMessage(){
return(message);
}
publicvoidsetMessage(Stringmessage){
this.message=message;
}
}
保留为SimpleBean.java,编译后会天生一个包,实在就相称于一个目次,也就是SimpleBean.class会寄存在hall目次中,临时保留起来,未来备用。
再输出以下代码:
<HTML>
<HEAD>
<TITLE>ReusingJavaBeansinJSP</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLEBORDER=5>
<TR><THCLASS="TITLE">
ReusingJavaBeansinJSP</TABLE>
</CENTER>
<P>
<jsp:useBeanid="test"class="hall.SimpleBean"/>
<jsp:setPropertyname="test"property="message"value="HelloWWW"/>
<H1>Message:<I>
<jsp:getPropertyname="test"property="message"/>
</I></H1>
</BODY>
保留在我们方才创建的假造目次e:/myjsp上面,并定名为:BeanTest.jsp。
如今我们应当将hall(包)目次放在哪儿呢?别急,我们先在e:/myjsp下创建一个文件夹WEB-INF,然后再在WEB-INF下创建一个classes文件夹,最初将hall目次放到classes下,固然,hall下的字节码文件SimpleBean.class也一并要移过去,而SimpleBean.java就和BeanTest.jsp放到统一目次吧(能够不必要放的,本人尝尝)。
从头启念头器(假如您试了很多多少次都不可,这一步必定要做),在扫瞄器中输出:http://localhost:8080/myjsp/BeanTest.jsp,您看到了甚么?呵,别告知我您甚么都没看到,那一定是您设置的成绩了。
Java进修-手艺文章中央
初学者问的诸如:《如何设置情况变量》《如何运转Servlet》啊?如许的成绩太多了,如今我写一个初学者进门必读,以便对初学者有引导感化!
起首是下载工具:
我倡议初学者用Editplus+JDK,我以为假如用比方JB,Eclipse,JCreator,固然刚入手下手的时分对照便利,可是确使初学者门不晓得如何设置情况变量,
从而难以到达知其然,知其以是然的境地
能够经由过程以下地点下载:
Editplus(最新版本是v2.11):http://count.skycn.com/softdown.php?id=3641&url=http://sc-http.skycn.net/down/epp211a_cn.exe(要照注册码就本人找吧,网上良多的)
JDK(最新版本是Java2sdk1_5_0):http://192.18.97.54/ECom/EComTicketServlet/BEGIN30AA3B63E5C2F61C8C26F84B78970A98/-2147483648/926882595/1/627578/627410/926882595/2ts+/westCoastFSEND/jdk-1.5.0_04-oth-JPR/jdk-1.5.0_04-oth-JPR:3/jdk-1_5_0_04-windows-i586-p.exe(这是ForWindows)
然后就是安装JDK,我是把它装到从c:JDK目次上面:
然后就是CLASSPATH的成绩了:
正如操纵体系使用PATH来搜刮可实行程序一样,Java运转情况也会遍历CLASSPATH来查找类,即使是HelloWorld如许复杂的程序,JVM也会遍历
CLASSPATH界说的每个路径,直到找到响应的文件为止。
信任人人用的体系不是2k就是XP,然后就应该以下设置Path:
我的电脑->属性->初级->情况变量
然后在情况变量的Path前面追加:C:JDKin;.;C:JDKlib
也能够如许设置:C:JDKin;.;C:JDKlibdt.jar;C:JDKlib ools.jar
★记着:情况变量中的.牢记不克不及少,它暗示以后路径,假如少失落呈现的毛病等会就说!
dt.jar是关于运转情况的类库,tools.jar是关于一些工具的类库
假如没有设置:C:JDKin,则会呈现"javac′不是外部或内部命令,也不是可运转的程序或批处置文件。"如许的毛病。
然后上面就该写程序了:
起首是(HelloWorld.java),翻开Editplus,新建一个Java文件,请照着以下输出,要一字不漏,而且分清巨细写:
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Hello,World!");
}
}
然后把这个文件保留(ctrl+s)到HelloWorld.java,记着巨细写必定要分清,是HelloWorld.java不是helloworld.java大概别的的
上面就该运转了,入手下手->运转->cmd
在把持台中把目次切换到以后目次:
javacHelloWorld.java
javaHelloWorld
你就会在把持台上瞥见输入的Hello,World!(没出来?我把电脑吃了:))
javac是编译命令,它把HelloWorld.java编译成HelloWorld.class
java就是注释命令,JVM把HelloWorld.class注释实行.
在这个时分:
1。假如呈现Exceptioninthread"main"java.lang.NoClassDefFoundError:HelloWorld
那就是你在情况变量中没有加上谁人.(dot)
2。假如呈现Exceptioninthread"main"java.lang.NoSuchMethodError:main
大概HelloWorld.java:1:Publicclasshelloworldmustbedefinedinafilecalled
"HelloWorld.java".
那就是你没有分清巨细写的写进这个HelloWorld,大概保留得时分没有保留为HelloWorld.java
这个名字必定要跟publicclass的名字一样
关于情况变量的成绩就说到这里,上面我先所说怎样在Editplus内里编译和运转,在Tools->参数设置->设置用户工具
1.增加工具(增加使用程序)
菜单笔墨:CompileJavaProgram
程序:C:JDKinjavac.exe
参数:文件称号
初始目次:文件目次
2.增加工具(增加使用程序)
菜单笔墨:RunJavaProgram
程序:C:JDKinjava.exe
参数:文件称号(不含扩大名)
初始目次:文件目次
工具组称号能够任意添,好比DebugJavaProgram
然后在Tools的下拉菜单中,你就会瞥见CompileJavaProgram和RunJavaProgram这两个选项,今后你就能够使用ctrl+1编译和ctrl+2运转程序了
上面就会商Servlet的运转:
起首要运转Servlet,则必要JSP/Servletcontainer,我倡议初学者用Tomcat
Tomcat(最新版本5.5):http://apache.justdn.org/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.exe然后把这个紧缩包解压到:
C:Tomcat
然后再设置情况变量:
增加三个体系变量:
JAVA_HOME:C:JDK
TOMCAT_HOME:C:Tomcat
CLASSPATH:%JAVA_HOME%lib;%TOMCAT_HOME%lib
Tomcat的情况变量就设置终了了,上面查验Tomcat是不是可以运转:
在把持台直达到C:Tomcatin这个目次,运转startup,然后回呈现一个窗口,连跳一年夜串工具,最初暗示Server已运转
在扫瞄器中输出http://localhost:8080,呈现接待界面,则暗示Tomcat没成绩了
然后和下面一样,写进你的第一个Servlet
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassHelloWorldextendsHttpServlet
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
{
response.setContentType("text/html");
PrintWriterout=response.getWriter();
out.println("<html><head><title>");
out.println("ThisismyfirstServlet");
out.println("</title></head><body>");
out.println("<h1>Hello,World!</h1>");
out.println("</body></html>");
}
}
然后还是用javacHelloWorld.java来编译这个文件,假如呈现没法importjavax.servlet.*
那末就是应当把C:Tomcatcommonlib内里的servlet.jar(依据实践来看)文件拷贝到C:JDKjrelibext中,再次编译,就没有成绩了!
然后在Tomcat目次内里的C:TomcatwebappsROOT内里按以下的文件布局:
ROOTindex.html
ROOTwelcom.jsp
ROOTWEB-INFlibMyServlet.jar(假如你的servlet的.class打成了.jar文件,则放在lib上面)
ROOTWEB-INFclassesHelloWorld.class(把下面天生的HelloWorld.class文件放在这个内里)
然后在扫瞄器中输出http://localhost:8080/servlet/HelloWorld,因而Server众看所回的报错了:Error404--NotFound
怎样回事呢?
Servlet必需利用C:TomcatwebappsROOTWEB-INF这个目次上面的web.xml文件举行注册,用EP翻开这个web.xml文件,在内里到场
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/helloworld</url-pattern>
</servlet-mapping>
如许的布局
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
暗示指定包括的servlet类.
而以下的布局
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>
暗示指定HelloServlet应该映照到哪种URL形式。
在修正web.xml终了事后,从头启动Server,然后再输出http://localhost:8080/servlet/HelloWorld,那末偌年夜一个Hello,World!等着你呢。
多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。
作者:
再见西城
时间:
2015-1-24 12:40
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者:
愤怒的大鸟
时间:
2015-2-1 11:34
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者:
莫相离
时间:
2015-2-7 02:24
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者:
柔情似水
时间:
2015-2-10 04:10
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者:
不帅
时间:
2015-2-28 19:20
Java 编程语言的风格十分接近C、C++语言。
作者:
精灵巫婆
时间:
2015-3-10 04:55
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者:
老尸
时间:
2015-3-17 04:12
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
作者:
海妖
时间:
2015-3-23 19:13
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2