|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之!js|servlet|详解 初学者问的诸如:如何设置情况变量?如何运转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_4_2):http://count.skycn.com/softdown.php?id=3116&url=http://sc-http.skycn.net/down/j2sdk-1_4_2-windows-i586.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不是外部或内部命令,也不是可运转的程序或批处置文件。”如许的毛病。
上面我们就写一个示例程序:
翻开Editplus,新建一个Java文件,请照着以下输出,要一字不漏,而且分清巨细写:
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Hello,World!");
}
}
然后把这个文件保留(ctrl+s)到HelloWorld.java,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.0):http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip
然后把这个紧缩包解压到:
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!等着你呢。
附:Jsp开辟情况设置全历程
在设置Jsp开辟情况的过程当中会碰着很多成绩,感激很多先辈履历总结性的文章对我来讲几乎是雪中送碳,为了匡助像我一样的初学者,在此总结了很多作者的履历,十分感激他们的忘我贡献精力,也但愿更多的人把这类精力发扬光年夜。
以下软件下载毗连地点没法显现的话,请间接到官方网站下载便可!
软件下载
Mysql
下载版本:mysql-4.1.13-win32.zip(Windowsdownloads)
http://dev.mysql.com/downloads/mysql/4.1.html
JDBC驱动
下载版本:mysql-connector-java-3.1.10.zip
http://dev.mysql.com/downloads/connector/j/3.1.html
下载j2sdk
下载版本:jdk-1_5_0_04-windows-i586-p.exe
http://java.sun.com/j2se/1.5.0/download.jsp
下载tomcat
下载版本:jakarta-tomcat-5.5.9.exe
http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi
安装,设置j2sdk:
实行j2sdk安装程序,按默许设置举行安装,也可自界说路径,但需修正上面的设置
设置j2sdk:
设置情况变量:
我的电脑->属性->初级->情况变量->体系变量中增加以下情况变量:
JAVA_HOME=C:ProgramFilesJavajdk1.5.0_04
CLASSPATH=%JAVA_HOME%libdt.jar;
%JAVA_HOME%lib ools.jar;
path=%JAVA_HOME%in;
%SystemRoot%system32;
%SystemRoot%;
%SystemRoot%System32Wbem
写一个复杂的java程序来测试J2SDK是不是已安装乐成:
publicclasshello
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("Hello");
}
}
将程序保留为文件名为hello.java的文件。
翻开命令提醒符窗口,进进到hello.java地点目次,键进上面的命令:
javachello.java
javahello
此时若打印出来hello则安装乐成,若没有打印出这句话,细心反省以上设置是不是准确。
注重体系文件夹选项中应断定“埋没已知文件范例的扩大名”不勾选。
安装,设置tomcat
实行tomcat安装程序,按默许设置举行安装,也可自界说路径,但需修正上面的设置:
我的电脑->属性->初级->情况变量->体系变量中增加以下情况变量
CATALINA_HOME=C:ProgramFilesApache
SoftwareFoundationTomcat5.5
CATALINA_BASE=C:ProgramFilesApache
SoftwareFoundationTomcat5.5
修正情况变量中的classpath,把tomat安装目次下的commonlib下的servlet-api.jar增加到classpath中往,修正后的classpath以下:
classpath=%JAVA_HOME%libdt.jar;
%JAVA_HOME%lib ools.jar;
C:ProgramFilesApacheSoftwareFoundationTomcat5.5commonlibservlet-api.jar;
启动tomcat,在IE中会见http://localhost:8080,若看到tomcat的接待页面的话申明安装乐成。
安装mysql
解紧缩mysql-4.1.13-win32.zip,运转setup.exe
起首呈现的是安装导游接待界面,间接点击“Next”持续,选择安装范例,选择“自界说”custom安装,然后点“Next”下一步,呈现自界说安装界面,选择安装路径:C:MySQLServer4.1(可自界说)点“OK”前往到自界说安装界面,路径已改成设置的路径,点“Next”,筹办入手下手安装,点“Install”入手下手安装,完成后呈现创立MySQL.com帐号的界面。
假如是初次利用MySQL,选“CreateanewfreeMySQL.comaccout”,点“Next”,输出你的Email地点和本人设定的用于登录MySQL.com的暗码,填完后点“Next”进进第二步,填写姓名等相干信息,填完点“Next”,进进第三步,填完德律风号码、公司称号等信息后,点“Next”,然后呈现预览你方才填的信息的界面,点“Next”呈现安装完成界面。
注重,这里有个设置导游的选项(ConfiguretheMySQLServernow),倡议勾选当即设置你的MySQL。很多说安装完MySQL后没法启动,缘故原由就在于没有设置MySQL。
点击“Finish”完成安装,并入手下手设置MySQL,点“Next”,进进设置范例选择页面。选“Detailedconfiguration”(具体设置),点“Next”,进进服务范例选择页面。选“DeveloperMachine”(开辟者呆板),如许占用体系的资本不会良多,点“Next”后,进进数据库用法选择页面。
选择“MultifunctionalDatabase”,点“Next”,进当选择InnoDB数据寄存地位页面,不必变动设置,间接放在InstallationPath安装目次里便可,然后点“Next”,选择MySQL的同时连接数,选择“ManualSetting”,设置为100(依据本人必要,酌情设置)
点“Next”,设置MySQL在TCP/IP通信情况中的端口选择默许的3306端口便可。点“Next”,选择MySQL中的字符设置,注重,这里的选择将会影响你是不是能在MySQL中利用中文。选择gb2312字符集以便撑持简体中文,点“Next”,设置Windows服务选项,注重,这里的选择很关头。
“InstallAsWindowsService”必定要勾选,这是将MySQL作为Windows的服务运转。“ServiceName”就用默许的“MySQL”上面的“LaunchtheMySQLServerautomatically”必定要勾选,如许Windows启动时,MySQL就会主动启动服务,要否则就要手工启动MySQL。
很多人说安装MySQL后没法启动、没法毗连、呈现10061毛病,缘故原由就在这里。点“Next”,设置根帐号root的登录暗码,“ModifySecuritySettings”是设置根帐号的暗码,输出你设定的暗码便可。
“CreateAnAnonymousAccount”是创立一个匿名帐号,如许会招致未经受权的用户不法会见你的数据库,有平安隐患,倡议不要勾选。
点“Next”,MySQL设置导游将根据你下面的一切设定设置MySQL,以便MySQL的运转切合你的必要,点“Execute”入手下手设置,当呈现“Servicestartedsuccessfully”时,申明你的设置完成,MySQL服务启动乐成
点“Finish”完成,全部MySQL的设置完成,剩下的就是用MySQL客户端毗连MySQL服务器,然后利用了。
安装JDBC驱动:
解紧缩mysql-connector-java-3.1.10.zip
将要利用的是mysql-connector-java-3.1.10-bin-g.jar
和mysql-connector-java-3.1.10-bin.jar
设置
在C:ProgramFilesJava目次下创建mysqlforjdbc子目次,进进该目次将mysql-connector-java-3.
1.10-bin.jar到该目次下
进进C:Program
FilesJavajdk1.5.0_04lib目次将mysql-connector-java-3.1.10-bin-g.jar拷贝到该目次下
然后设置classpath,追加%JAVA_HOME%libmysql-connector-java-3.1.10-bin-g.
jar;C:Program
FilesJavamysqlforjdbcmysql-connector-java-3.1.10-bin.jar;到该情况变量中往。
追加今后情况变量以下:
CLASSPATH=%JAVA_HOME%libdt.jar;
%JAVA_HOME%lib ools.jar;
C:ProgramFilesApacheSoftware
FoundationTomcat5.5commonlibservlet-api.jar;
%JAVA_HOME%libmysql-connector-java-3.1.10-bin-g.jar;
C:ProgramFilesJavamysqlforjdbc
mysql-connector-java-3.1.10-bin.jar;
设置这个的目标是让java使用程序找到毗连mysql的驱动。
检察并启动MySQL服务
在WindowsXP下安装完MySQL后,它就已主动启动服务了,而且在入手下手菜单中有其客户真个快速体例毗连,能够经由过程Windows的服务办理器检察。“入手下手”-“运转”,输出“services.msc”,回车。
弹出Windows的服务办理器,然后就能够瞥见服务名为“mysql”的服务项了,其右侧标明“已启动”在入手下手菜单-一切程序-MySQL-MySQLServer4.1-MySQLCommandLineClient用客户真个快速体例毗连,输出安装时设置的暗码便可。
数据库的利用
Mysql安装终了今后,在入手下手菜单-一切程序-MySQL-MySQLServer4.1-MySQLCommandLineClient用客户真个快速体例毗连
输出安装时设置的暗码
利用mysql的基础命令(在mysql命令行编纂每输出完命令后最初必定要有分号)
显现数据库:showdatabases;
利用数据库:use数据库名;
建库
在mysql里建一个数据库first,和在数据库里建一个表about
命令:createdatabasefirst;
为数据库设置权限(用户和暗码)
命令:
grantallprivilegesonfirst.*totest@localhostidentifiedby“123456”;
当你实行完这个命令今后,只需你再以用户名:test,暗码:123456登录时你就只能够对first这个数据库操纵,如许避开利用root
输出命令:usefirst;
利用first数据库;
在first库中建表
命令:
createtableabout(idint(8)
primarykey,namevarchar(10));
在表中假设数据:
命令:
insertintoaboutvalues
(xyw1026,laojiang);
加入
命令:
exit
JSP毗连mysql
在C:ProgramFilesApacheSoftwareFoundationTomcat5.5webapps目次下创建子目次myapp
进进C:ProgramFilesApacheSoftwareFoundationTomcat5.5webappsmyapp目次下
用记事本编写一个文件保留为first.jsp
代码以下:
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="java.sql.*"%>
<html>
<body>
<%Class.forName
("org.gjt.mm.mysql.Driver").newInstance();
Stringurl="jdbc:mysql:
//localhost/softforum?user=
soft&password=soft1234&useUnicode=
true&characterEncoding=8859_1"
//first为你的数据库名
Connectionconn=DriverManager.getConnection(url);
Statementstmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
Stringsql="select*fromfirst";
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操纵乐成,祝贺你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
在扫瞄器中输出:
http://127.0.0.1:8080/myapp/first.jsp
若呈现:
id|num
0|laojiang
数据库操纵乐成,祝贺你,暗示设置乐成
进进C:ProgramFilesApacheSoftwareFoundationTomcat5.5webappsmyapp目次
在myapp目次下新建一个目次WEB-INF,注重,目次称号是辨别巨细写的;
在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>
在myapp下用记事本新建一个测试的jsp页面,文件名为index.jsp,文件内容以下:
<html><body><center>
Nowtimeis:<%=newjava.util.Date()%>
</center></body></html>
重启Tomcat
翻开扫瞄器,输出http://localhost:8080/myapp/index.jsp
看到以后工夫的话申明乐成安装。
创建本人的Servlet:
用记事本新建一个servlet程序,文件名为HelloWorld.java,文件内容以下:
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>");
}
}
编译
将HelloWorld.java剪切到C:ProgramFilesApacheSoftwareFoundationTomcat5.5commonclasses目次下
命令行体例下输出:
cdC:ProgramFilesApacheSoftwareFoundation
Tomcat5.5commonclasses
javacHelloWorld.java
用javacHelloWorld.java来编译这个文件,假如呈现没法importjavax.servlet.*
则将C:ProgramFilesApacheSoftware
FoundationTomcat5.5commonlib目次下的servlet-api.jar文件拷贝并增加到
C:ProgramFilesJavajre1.5.0_04libext目次中往就能够了。
然后在C:ProgramFilesApacheSoftware
FoundationTomcat5.5commonclasses下会发生一个编译后的servlet文件:
HelloWorld.class
用记事本翻开C:ProgramFilesApacheSoftware
FoundationTomcat5.5webappsROOTWEB-INF目次下的web.xml以下所示,增加后的
内容以下:
<!--JSPCservletmappingsstart-->
<servlet>
<servlet-name>org.apache.
jsp.index_jsp</servlet-name>
<servlet-class>org.apache.
jsp.index_jsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.apache.
jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
<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>
<!--JSPCservletmappingsend-->
</web-app>
这段话中的servlet这一段声了然你要挪用的Servlet,而servlet-mapping则是将声明的servlet“映照”到/servlet/HelloWorld地点上。
启动Tomcat,启动扫瞄器,输出http://localhost:8080//servlet/HelloWorld,假如看到输入HelloWorld!就申明编写的servlet乐成了。注重:修正了web.xml和新加了class,都要重启Tomcat也能够在本人创立的目次下测试如:
将HelloWorld.class拷贝到C:ProgramFilesApacheSoftware
FoundationTomcat5.5webappsmyappWEB-INFclasses目次下
个中classes目次若没有就创立一个
用记事本翻开C:ProgramFilesApacheSoftwareFoundationTomcat5.5webappsmyappWEB-INF目次下的web.xml以下所示,修正后的内容以下:
<!--JSPCservletmappingsstart-->
<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>
<!--JSPCservletmappingsend-->
</web-app>
启动Tomcat,启动扫瞄器,输出http://localhost:8080/myapp/servlet/HelloWorld假如看到输入HelloWorld!就申明编写的servlet乐成了。注重:修正了web.xml和新加了class,都要重启Tomcat,创建本人的javaBean:
用记事本新建一个java程序,文件名为TestBean.java,文件内容以下:
packagetest;
publicclassTestBean
{
privateStringname=null;
publicTestBean(StringstrName_p)
{
this.name=strName_p;
}
publicvoidsetName(StringstrName_p)
{
this.name=strName_p;
}
publicStringgetName()
{
returnthis.name;
}
}
编译
将TestBean.java放在c: est下,利用以下命令编译:
C: est>javacTestBean.java
然后在c:Test下会发生一个编译后的bean文件:TestBean.class
将TestBean.class文件剪切到C:ProgramFilesApacheSoftware
FoundationTomcat5.5webappsmyappWEB-INFclasses est目次下,
若无某些子目次则创立一个,新建一个TestBean.jsp文件,文件内容为:
<%@pageimport="test.TestBean"%>
<html><body><center>
<%
TestBeantestBean=newTestBean
("Thisisatestjavabean.");
%>
Javabeannameis:
<%=testBean.getName()%>
</center></body></html>
重启Tomcat,启动扫瞄器,输出http://localhost:8080/myapp/TestBean.jsp假如看到输入Javabeannameis:Thisisatestjavabean就申明编写的javaBean乐成了。
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。 |
|