设为首页 收藏本站
查看: 1088|回复: 0

[经验分享] JavaWeb学习之Servlet(一)----MyEclipse及Tomcat的配置

[复制链接]

尚未签到

发表于 2015-8-6 11:16:26 | 显示全部楼层 |阅读模式
  【声明】
  欢迎转载,但请保留文章原始出处→_→
  文章来源:http://www.iyunv.com/smyhvae/p/4134921.html
  联系方式:smyhvae@163.com
  支付宝账号:smyhvae@163.com
  
  【开发环境】
  物理机版本:Win 7旗舰版(64位)
  jdk版本:jdk1.8.0_20
  MyEclipse版本:10.7.1
  Tomcat版本:apache-tomcat-7.0.57
  一、Servlet的基本概念:
  Servlet是sun提供的一种动态web资源开发技术.本质上就是一段java小程序.可以将Servlet加入到Servlet容器中运行.


  • Servlet容器:能够运行Servlet的环境就叫做Servlet容器. --- tomcat
  • web容器:能够运行web应用的环境就叫做web容器 --- tomcat
  Servlet的基本运行方式:
  Servlet没有main()方法。它们受控于另一个Java应用(例如Tomcat),这个Java应用称为Sevlet容器,Tomcat就是这样一个容器。通常我们把Tomcat也叫做Servlet容器。
DSC0000.jpg
  Servlet默认是以多线程模式执行的。
  注:JSP是为了方便写html代码和Java代码,它的本身其实还是Servlet。
  
  二、MyElipse的配置:
  1、选择工作空间:只要切换了工作空间,所有的配置全部清零。
  2、配置jdk:
  选择菜单栏Windows-->Preferences,选择标签Java-->Installed JREs,界面如下:
DSC0001.png
  上图中,可以看到,MyEclise有自带的jdk,那我们还是使用自己安装的jdk吧,单击上图中的“add”按钮,弹出如下界面:
DSC0002.png
  上图中,选择自己安装的jdk路径,然后finish,继续:
DSC0003.png
  3、配置工作空间的编码:从此之后你创建的任何项目中的文本文件默认编码都是utf-8
  选择菜单栏Windows--preferences,选择标签General-->Workspace,如下:
DSC0004.png
  4、改字体:
DSC0005.png
  
  三、使用MyEclipse创建Web工程:
  1、MyEclipse指定Tomcat:
  选择菜单栏Window-->Preferences,选择标签MyEclipse-->Servers-->Tomcat,然后:
DSC0006.png
  上图中,选择自己的Tomcat目录,记得一定要选中红框部分的"Enable"。
  检查运行的jdk:
DSC0007.png
  同时,我们关闭MyEclipse自带Tomcat:
DSC0008.png
DSC0009.png
  2、MyEclipse创建Web项目:
DSC00010.png
  上图中的Context root URL指的是外部访问的虚拟路径,点击finish,继续:
DSC00011.png
  上图中,选择“no”即可。如果选择“yes”也行,就会用6.0来编译,而不是5.0。继续:
DSC00012.png
  上图中,是让你从Java视图切换成MyEclipse视图,选择“yes”。
  新建的工程,目录结构如下:
DSC00013.png


  • WebTest:web工程的名称,该工程部署时,在webapps目录下就会有一个example的web应用
  • src目录:Java程序的开发目录,该目录下编写的所有程序在部署时,会自动部署到example/web-inf/classes目录下。
  • WebRoot目录:webroot对应于web应用的根目录,该目录下的所有子目录和子文件在部署时,会原封不动的发布到web应用目录下。
  如果需要修改这个Web工程的对外访问路径Context Root,可以右键这个项目,选择Properties,选择MyEclipse-->Web标签:
DSC00014.png
  在上图红框部分进行需改就行了。
  
  3、MyEclipse发布Web项目到Tomcat下:
DSC00015.png
  选择上图中的按钮(菜单栏下方),提示文字为:Deploy Project to Server,弹出如下界面:
DSC00016.png
  上图中,选择add,继续:
DSC00017.png
  上图中,选择我们之前Tomcat,就行了。
  当然了,还有另外一种方式可以发布到Tomcat,方法是:右键工程文件,效果如下:
DSC00018.png
  项目一旦发布到Tomcat,就会马上把项目的WebRoot目录copy到Tomcat的webapps目录下,并把WebRoot重命名为项目名称,即WebTest:
DSC00019.png
  发布之后,如果想在网页上看效果,需要先运行Tomcat:
DSC00020.png
  然后在网址输入url就行了:
DSC00021.jpg
  
  四、创建Servlet的一般步骤:
  Servlet的框架组成:
  Servlet框架是由两个Java包组成:Javax.servlet和Javax.servlet.http。Servlet的框架的核心里Javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。
  步骤:


  • 新建一个类实现sun公司定义的Servlet接口
  • 将写好的类配置到tomcat中的web应用的web.xml中(配置对外访问路径)
  注1:为了理解过程,下面的方式一是新建一个class文件作为Servlet,然后手动配置Web.xml。其实,实际开发中,直接新建Servlet文件(方式二),就能一步到位,Web.xml会自动配置好。
  注2:Tomcat内置Servlet的jar包。
  1、方式一:新建class文件
  (1)新建一个class文件MyServlet.java,继承子类HttpServlet:
  MyServlet.java:



1 package com.vae.servlet;
2
3 import java.io.IOException;
4 import java.io.PrintWriter;
5
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServlet;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10
11 //一般实现一个Servlet,只要继承HttpServlet类即可
12 public class MyServlet extends HttpServlet {
13     @Override
14     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
15             throws ServletException, IOException {
16         // TODO Auto-generated method stub
17         //super.doGet(req, resp);
18         //获取对客户端的输出流(out对象)
19         PrintWriter out = resp.getWriter();
20         out.write(""Hello,Servlet"");
21     }
22
23     @Override
24     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
25             throws ServletException, IOException {
26         // TODO Auto-generated method stub
27         //super.doPost(req, resp);
28     }
29 }
  上方代码中,如果采用get请求,就可以重写doGet方法。注意要注释掉第17行的代码(父类的方法)
  其实,doPost和doGet方法其实是在Servlet类的service()方法的内部中调用的。Tomcat已经把14行的request和response这两个参数给new好了。
  19行:PrintWriter是字符打印流,这个字符流的输出源针对的是页面(向客户端输出)。
  (2)Web.xml配置,配置Servlet的对外访问路径(URL):
  既然这个Servlet是由Web容器启动的,那么就需要在Web.xml中进行配置,这样的话,Tomcat在启动的时候就会自动加载这个文件。
  浏览器访问Web端必须通过url,于是还需要在Web.xml中 通过标签配置一个映射的路径,同样附上别名name和路径url。
  打开web.xml,添加一些代码。
  web.xml:



1
2
6     
7     
8         index.jsp
9     
10
11     
12     
13         helloServlet
14         com.vae.servlet.MyServlet
15     
16
17     
18     
19         helloServlet
20         /hello
21     

22
23
  11至21行是我添加的代码。
  12行至15行:Web.xml配置。一个名称映射一个类,别名可以随便取,方便在整个web.xml中引用这个Servlet(13行),但类名必须为之前定义的Servlet,含包名(14行)。
  18行至21行:url配置,让浏览器通过这个url访问Web端。19行的name别名必须和13行一样,20行的"/hello"是我们设置的url路径。
  其实就是根据20行的url找到13行的别名,进而找到14行的Servlet类。
  运行程序,效果如下:
DSC00022.jpg
  注意一定要删除MyServlet.java代码中继承父类的方法:super.doGet(req, resp);、super.doPost(req, resp);(17行、27行),否则会出现如下错误的页面:
DSC00023.jpg
  2、方式二:新建Servlet文件
  注:只有在MyEcipse视图下才能新建Servlet文件,在Java视图下是不行的。
  我们来新建一个Servlet文件:
DSC00024.png
  上图中,MyEclipse会自动给我们继承父类HtpServlet,然后我们只需要复写doGet和doPost方法就行了。点击next,继续:
DSC00025.png
  MyServlet.java代码如下:



1 package com.vae.servlet;
2
3 import java.io.IOException;
4 import java.util.Date;
5
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServlet;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10
11 public class MyServlet extends HttpServlet {
12
13     public void doGet(HttpServletRequest request, HttpServletResponse response)
14             throws ServletException, IOException {
15         //显示当前时间
16         response.getWriter().write("now time:" + new Date().toLocaleString());
17
18     }
19
20     public void doPost(HttpServletRequest request, HttpServletResponse response)
21             throws ServletException, IOException {
22         doGet(request, response);
23
24     }
25
26 }
  在网页输入url,效果如下:
DSC00026.jpg
  上图可以看到,同一个资源,在不同的时间、不同的人访问的时候,是不一样的,很显然Servlet是动态Web资源。
  总结:完成了MyEclipse及Tomcat的配置,以及Servlet的开发流程。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-94743-1-1.html 上篇帖子: JavaWeb学习----JSP简介及入门(含Eclipse for Java EE及Tomcat的配置) 下篇帖子: 聊下并发和Tomcat线程数(错误更正)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表