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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ROS | 机器人操作系统简介

    ROS | 机器人操作系统简介机器人操作系统(ROS)简介1.ROS基本概念2.ROS架构2.1OS层2.2中间层2.3应用层3.通信机制4.计算图4.1节点(Node)4.2节点管理器(Master)4.3消息(Message)4.4话题(Topic)4.5服务(Service)4.6动作(Action)4.7消息记录包(Bag)4.8参数(Parameter)4.9功能包(Package)4.10功能包清单(Packagemanifest)4.11元功能包(MetaPackage)5.开源社区1.ROS基本概念ROSWik

    2022年10月22日
  • 傅里叶变换(一)——认识傅里叶变换

    傅里叶变换(一)——认识傅里叶变换注:本文为博主参考书籍和他人文章并加上自己的理解所编,作为学习笔记使用并将其分享出去供大家学习。若涉及到引用您的文章内容请评论区告知!如有错误欢迎指正! 参考文章:https://zhuanlan.zhihu.com/p/19763358p.s.本文无论是cos还是sin,都统一用“正弦波”(SineWave)一词来代表简谐波。一、什么是傅里叶变换 时域及频域    在讲…

  • Tomcat学习—Tomcat的端口修改和编码方式修改

    在学习使用Tomcat的时候,了解一下Tomcat的默认端口修改和默认编码方式修改,方便以后更深入的学习。

  • Java数据类型及最大值_javaint最大值

    Java数据类型及最大值_javaint最大值YDOOK:Python3.9:YDOOKJYLin1.原理方法:1.“2.实例代码:a_list=[1,2,3,4,5,6,7,8,9,10]print(‘a_list=’,a_list)a_list.append(11)print(‘a_list=’,a_list)3.运行结果:在这里插入代码片

  • webapi文档描述-swagger

    webapi文档描述-swagger最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员。这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,最初打算使用word文档方式进行交流

  • mysql timestampdiff>_MySQL TIMESTAMPDIFF()用法及代码示例

    mysql timestampdiff>_MySQL TIMESTAMPDIFF()用法及代码示例TIMESTAMPDIFF():MySQL中的此函数用于从另一个函数中减去DateTime表达式后返回一个值。用法:TIMESTAMPDIFF(unit,expr1,expr2)Parameters:它将接受三个参数。单位-它表示结果的单位。可以是以下之一。微秒,秒,分钟,小时,天,周,月,季度,年expr1-第一个日期或DateTime表达式。expr2-第二个日期或DateTime表达式。返回…

发表回复

您的电子邮箱地址不会被公开。

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