Java web环境配置和Servlet实例HelloWorld<转自banama的个人博客>

Java web环境配置和Servlet实例HelloWorld<转自banama的个人博客>

曾经一直对很”重“的东西很痛恨,也可能因为自己懒…因此一直对微软的东西不感冒,学校的网速下载个VS都有种想死的感觉。对于java也是同样的感觉,eclipse让我曾经望而却步。其实我一直有种想法,感觉java适用于企业级的应用,而我内心不想做一个螺丝钉,我喜欢做一些快速的,magic,有掌控力的工作,当然也有可能是飘渺的成就感在作祟。但是java越来越火,总有他的原因,一个优秀的程序员不该有偏见,不是吗?练级之路不应惧怕任何挑战!

以前一直做动态语言的web开发,对于java web刚了解刚开始有一点难以适应,同学推荐下,先借了本jsp的书浏览了一下,起初感觉jsp向一个模板引擎,不过强大的是只是这个“模板引擎”就可以开发出一个纯正血统的动态网站。不过感觉是有点不太科学。渐渐了解到,java web的MVC的开发中,jsp的角色更像V,而MC则分别是javabean和servlet。

java开发的IDE了解了很多,能力有限,搞定不了太多东西,还是老老实实用eclipse了,对于收费的myeclipse,一方面,因为的收费的,实在不想去破解,另一方面真的再懒得去下载配置…下面就讲讲eclipse 配置以及servlet HelloWorld,好记性不如烂笔头,东西多了总要总结一下,记一记。

环境搭建

  • 我的系统是Ubuntu 13.10,安装eclipse版本是3.8,打开发现没有菜单栏,google才知道这好像是一个bug,最简单的解决方法,env UBUNTU_MENUPROXY = (eclipse path), 命令行打开问题即解决。

  • 为了更方便,eclipse的自动补全还需设置一下。Window => Prefenrence => java Editor => Content Assist ,在Auto Activation可按需求设置。

  • eclipse进行web开发是要安装插件的,具体操作 Help => Install New Software, 打开窗口,在work with filter中选择All Aailable Sites, 然后打开Web、Xml、Java EE…那一项,选中Dail java persistenence Tools系列Eclipse * Developer Tool JST Server Adapter Extensions 安装,重启eclipse。

  • 安装tomacat服务器,tomacat安装非常简单,官网下载,解压,进入目录。执行./bin/startup.sh,打开浏览器输入127.0.0.1:8080,进入tomcat主页证明tomcat可以正常运行。为了开发web应用方便,需要在eclipse配置tomcat。 Window => Preferences => Server => Runtime Environment ,add 即可添加tomcat服务器,切记版本选择和自己安装tomcat版本相同。

到此环境配置已经基本完成,接下来实现第一个 servlet helloworld。

实例

  • new => othoer => server 创建服务器

  • 接下来创建web 工程,因为自己是一个菜鸟,网上很多教程eclipse版本不一样,所以走了不少弯路,下面说说我的版本的实现过程 网山很多教程,new => tomcat project ,我的版本没有这个选项,在这里,选择 new => other => Dynamic Web Project ,按要求填写项目信息,假如工程名字为Servlet,一直next,知道最后勾选添加web.xml,finish。

  • 实现第一个servlet实例,New => Servlet ,输入如下代码


 package servlet;
 
 import javax.servlet.http.HttpServlet;

 public class Hello extends HttpServlet {
 
	private static final long serialVersionUID = 1L;
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	 		throws IOException, ServletException {
		response.setContentType("text/html");
		PrintWriter writer = response.getWriter();
		writer.println("Hello");
	}
 } 
 

打开 WebContent -> WEB-INF -> web.xml, 增加servlet

<servlet>
	<servlet-name>Hello</servlet-name>
	<servlet-class>servlet.Hello</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>Hello</servlet-name>
	<url-pattern>/Servlet/HelloWorld</url-pattern>
</servlet-mapping>

其中servlet-class 是确定的,而servlet-name则可以自己命名。

接下来可以运行了,不过要怎么做呢?很简单,选中工程,run as 选择server,然后打开浏览器输入 127.0.0.1:8080/Servlet/Servlet/HelloWorld

404?比忘了server.xml,打开服务器的serverl.xml ,拉到最后看HOST标签里的Context,有没有关于Servlet的Context,如果没有,你需要写入

<Context docBase=”Servlet” path=”/Servlet” reloadable=”true” source=”org.eclipse.jst.jee.server:Servlet”/>

然后再次Run as 选择server,打开浏览器输入127.0.0.1:8080/Servlet/Servlet/HelloWorld,页面应该就可以正常访问了。

Ps


  • eclipse生成的servlet文件不用设置web.xml即可访问,分析他的代码发现有这一行代码@WebServlet(path),其功能应该类似与python中的route装饰器。

 

 

 

原文地址:

http://banama.github.io/Archive/servletFir.html

如有侵权,请通知我,我会尽快处理滴。

转载于:https://www.cnblogs.com/SummerinShire/articles/4630964.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109401.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月7日 下午7:00
下一篇 2021年9月7日 下午7:00


相关推荐

  • AI Agent开发入门:使用UNIT-00构建自主任务执行智能体

    AI Agent开发入门:使用UNIT-00构建自主任务执行智能体

    2026年3月14日
    2
  • JavaScript进阶教程(5)-一文让你搞懂作用域链和闭包

    JavaScript进阶教程(5)-一文让你搞懂作用域链和闭包1 作用域在 JS 中变量可以分为局部变量和全局变量 对于变量不熟悉的可以看一下我这篇文章 https blog csdn net article details 作用域就是变量的使用范围 分为局部作用域和全局作用域 局部变量的使用范围为局部作用域 全局变量的使用范围是全局作用域 在 ECMAScript20 引入 let 关键字之前 js 中没有块级作用域 即在 JS 中一对花括号 中定义的变量 依然可以在花括号外面使用 varnum2

    2026年3月17日
    2
  • pycharm多行注释

    pycharm多行注释选中需要注释的代码 ctrl 首字母大写 test alex v test capitalize print v 字符串的加法 n1 my n2 name n3 is n n1 n2 n3print n 转载于 https www cnblogs com thinkplo p

    2026年3月27日
    2
  • 转录组测序(RNA-seq)详细建库步骤与原理

    转录组测序(RNA-seq)详细建库步骤与原理1 实验设计考虑生物体中总 RNA 90 rRNA 1 2 mRNA 8 9 其他 RNA 对于真核生物 可通过 oligodT 磁珠富集 mRNA 来进行建库而如果想研究 lncRNA 全转录组或原核生物转录组 可以通过去除 rRNA 的方法进行建库建库另一个要考虑的方面 链特异性与非特异性 strandedorun stranded 建库过程本文以 Illumina 的 NEBNe

    2026年3月16日
    1
  • 通用邮箱正则表达式[通俗易懂]

    通用邮箱正则表达式[通俗易懂]找了一些门户网站的邮箱格式:新浪:4-16个字符,可使用英文小写、数字、下划线,下划线不能在首尾。搜狐:4-16位,数字、小写字母、点、减号或下划线,小写字母开头。腾讯:由3-18个英文、数字、点、减号、下划线组成。网易:6~18个字符,可使用字母、数字、下划线,需以字母开头。谷歌:您可以使用字母、数字和英文句点,请勿使用除字母(a-z)、数字和英文句号外的其他字符。央视:6~20个字符,包括英…

    2026年3月6日
    4
  • 机器学习发展历史回顾

    机器学习发展历史回顾其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。书的购买链接 书的勘误,优化,源代码资源机器学习是现阶段解决很多人工智能问题的主流方法,作为一个独立的方向,正处于高速发展之中。最早的机器学习算法可以追溯到20世纪初,到今天为止,已经过去了100多年。从1980年机器学习称为一个独立的方向开始算起,到现在…

    2022年5月29日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号