您的位置:首页 > 运维架构 > Tomcat

Eclipse/TomCat上的J2EE应用开发软件架构4

2012-12-31 13:17 561 查看
Servlet简介: Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet的设计目标是处理用户请求的服务器端java代码。JAVA Servlet的优势:Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet与Web服务器的关系类似于Applet与Web浏览器的关系。

JSP简介: JSP(JavaServer Pages)是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

Servlet与JSP的差别: Servlet是使用JAVA编写的,特别使用于定义程序逻辑,Servlet可以在java代码中插入html标记;JSP是以标记为中心,更适合于页面开发任务。两者最直观的区别是: servlet要首先要程序员自己通过javac编译成.class文件,而JSP不用,它是在调用时被Web服务器(如Tomcat)编译。

Tomcat简介: Tomcat是一个免费的开源Web服务器,是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。

Tomcat官方站点:http://tomcat.apache.org

Tomcat的安装与配置:

Tomcat需要JDK的支持,因此安装之前要先检查一下JDK是否已经安装好了。安装过程中需要注意一点:有一步要设置admin的密码,可以任意设置自己的密码。启动tomcat,在IE中访问http://localhost:8080,若看到tomcat的欢迎页面的话说明安装成功。









ü Tomcat目录介绍:

/bin:存放windows或Linux平台上启动和关闭Tomcat的执行文件或脚本文件

/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml

/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件

/logs:存放Tomcat执行时的日志文件

/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录

/work:存放JSP编译后产生的class文件

² Eclipse简介:

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse的安装较为简单,在已配置好JDK的前提下,只需将从http://www.eclipse.org/downloads/下载的程序包解压便可。这里,我们选择下载Eclipse IDE for Java EE Developers。

下面介绍一些有关Eclipse的配置,来为我们的开发做好准备:

ü 打开Window->Preferences->Java->Editor->Save Actions,勾选复选框“Perform the selected actions on save”,并将“Format source code”选中。这样,当我们保存JAVA源文件时,编辑器将帮我们格式化代码,并导入必要的类。



然后打开Window->Preferences->Java->Installed JREs,点击Add按钮,在弹出的窗口中选择“Standard VM”,选择下一步,在JRE Home属性设置窗口中,点击“Directory”按钮浏览设置JDK的安装目录。



最后添加Tomcat运行环境:

打开Window->Preferences->Server->Runtime Environment,点击“Add”,添加Tomcat运行环境。





² WEB应用模型:



实验步骤:

1. 打开菜单“File-New-Dynamic Web Project”,新建一个工程。设置工程名,如Lab4;选择Target Runtime,选择我们设置的Tomcat V7.0,点击finish,完成工程创建。

2. 新建工程的文件结构:



默认是不显示类输出目录的。点击右边图中的三角形下拉菜单,选择“Customize view …”,在弹出的对话框中,点击filters选项页,将“Java output folders”旁的选中状态去掉,确定。

3. 点击工程“Lab4”,右键菜单属性->build path,点击source选项卡,设置类的输出目录。点击Browse->Create New Folder,创建classes文件夹。



4. 点击src,右键新建package,如com.edu.xmu.servlet,点击该package,新建一个类,如HelloWorld,该类继承类HttpServlet。重载实现方法doGet()和doPost()。我们让两个方法实现一样的功能:简单的以HTML的形式向页面输出“Hello World”。

HttpServlet中的方法doGet和doPost是与Html页面中表单form的两种提交方法对应的。当页面中form的属性method设置为”get”,并且其action设置为servlet的访问url,则在服务端将调用该servlet的doGet进行请求处理。

5. 配置servlet,修改(新建)web.xml,修改后内容如下:

<display-name>Lab4</display-name>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

<servlet>

<servlet-name>HelloWorld</servlet-name>

<servlet-class>com.edu.xmu.servlet.HelloWorld</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name>

<url-pattern>/hello</url-pattern>

</servlet-mapping>

6. 点击工程视图窗口的webcontent目录,ctrl+N,选择web类别下的jsp,点击下一步,输入文件为index.jsp,完成新建jsp文件。

在新建jsp文件的body标志间加入如下:

<form action="hello" method="post">

<p>click the button</p>

<input type="submit" value="确定">

</form>

这样,我们期望通过点击确定按钮,便能访问到我们刚才所创建的servlet,看到输出的“Hello World”。

7. 新建服务器: 点击project explorer窗口中工程名Lab4,右键菜单run as(debug as)-run on server(debug on server),一般我们选择debug as,便于开发过程中调试程序。在弹出的服务器设置对话框中,选择手工定义一个新的服务器,选择”Tomcat v7.0”server type,设置服务器主机名:Server’s host name:localhost;设置Server run environment: Apache Tomcat v7.0,Server name可以随便取。



然后点击next,将欲运行的工程从可用列表移动到配置列表。点击finish,结束设置。此时eclipse将自动启动服务器,我们便可在浏览器中输入url:http://localhost:8080/Lab4

来查看刚才所实现的页面。

注:此时须保证在eclipse之外未启动Tomcat,否则会由于端口冲突,导致服务器启动失败,若失败则先关闭外面的Tomcat实例,再重新启动Server。

8. 在webcontent下新建一个jsp页: first.jsp,在jsp页的body标志间加入:

<%

//Java code at here

out.println("Hello , World!");

%>

打开浏览器,输入访问地址:http://localhost:8080/Lab4/first.jsp查看效果。

9. 在webcontet下新建jsp页: lab4.jsp,将jsp页的字符集编码设置为UTF-8或gb2312,以保存中文。在lab4.jsp的body标志间加入如下代码:

<center>

<form action="view.jsp" style="margin-top:60px;" >

<label> name  :</label>

<input type="text" name="name"><br /><br/>

<label>gender:</label>

<input type="text" name="gender"><br /><br/>

<label>   age   :</label>

<input type="text" name="age"><br /><br/>

<input type="submit" value="ok" style="width: 60px; margin-left:50px; height: 35px; color: Maroon">

<input type="reset" value="cancel" style="width: 60px; height: 35px; color: Maroon">

</form>

</center>

10. 新建view.jsp,同样更改字符集编码为UTF-8或gb2312。在body间加入如下代码:

<%

String name = request.getParameter("name");

name = new String(name.getBytes("ISO8859-1"),"utf-8");

String gender = request.getParameter("gender");

gender = new String(gender.getBytes("ISO8859-1"),"utf-8");

String age = request.getParameter("age");

out.println("name:"+name+" gender:"+gender+" age:"+age);

%>

将index.jsp的body间内容修改为:

<form action="hello" method="post">

<p>click the button</p>

<input type="submit" value="确定">

</form>

<br />

<a href="lab4.jsp">实验4</a>

在浏览器中输入地址进行访问: http://localhost:8080/Lab4

11. 在项目开发完成后,需要打包成war,部署到web服务器上。选择项目右键->Export->WAR file,Export到Tomcat的webapps目录:



然后重新启动Tomcat(如果有冲突,需停止Eclipse中的Tomcat),在浏览器中输入访问地址访问页面。

ü 按上述步骤完成项目开发,最后用servlet实现view.jsp的功能。即实现一个servlet,打印出lab4.jsp提交的信息。

总结:

这次的实验还是比较简单,近乎全部按照实验pdf的过程来实现,唯一的难点,也就是最后一个问题。用继承自类HttpServlet的view类来实现打印出lab4.jsp提交的信息。这个其实和打印helloworld的代码有点类似,同时需改动配置文件

<welcome-file-list>

<welcome-file>index.jsp</welcome-file> (1)

</welcome-file-list>

<servlet>

<servlet-name>HelloWorld</servlet-name> (2)

<servlet-class>com.edu.xmu.servlet.HelloWorld</servlet-class> (3)

</servlet>

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name> (4)

<url-pattern>/hello</url-pattern>(5)

</servlet-mapping>

中的1,2.3.4.5

首先jsp中表单的action通过正则对应值对应于url-pattern(5)查找到servlet-name(4)对应于servlet-name(2)查找到servlet-class(3)进而调用该class的doGet()doPost函数。

而(1)是用来设置jsp的源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: