写一个简单的servlet

昨天写完hibernate的小demo后,想写一个简单structs2,但是发现好像自己连servlet都忘了怎么写了,所以一切从头开始,先写一个简单servlet把

第一步

肯定是建立项目了,打开自己eclipse(myeclipse,sts,idea)。然后file->new->java project。这里肯定会有疑问,为啥不建立一个web project呢。呃,原因很简单,因为要从头来,一切都从头来呗,web project里 web方面的属性都给配置好了,就起不到学习的作用了。

名字自己起,其他的也没什么可以叙说的,然后项目就建立好了。

然后建立完项目,肯定是把相关的jar包都导入进来了,这里就一个jar包。servlet-api.jar包。然后下载路径http://pan.baidu.com/s/1kVl6Ld9 密码 jwzj ,如果链接取消,也可以去http://how2j.cn/k/servlet/servlet-eclipse/558.html里右上角下载

下载好jar包,很简单,配置进项目。右键项目properties->java build path->libraries 然后右边的add external jars 然后导入进来就好了

第二步

在src目录下,建立一个class文件用来写我们servlet,名字就叫helloServlet把 然后注意,建立的时候,底下会根据你的项目名,自己动起一个包名,这时候把这个包名删除掉,默认没有包名

然后其他的就没什么要赘述的了。然后写一个servlet,那么你的类肯定要继承HttpServlet了。这个是常识。然后代码如下啦:

这里简单的叙说一下doGet和doPost两种请求方式把。我觉得个人的觉得就是一个需要把所传的参数打印在url后(doGet),另一个则不用。稍微查了查其他大佬对这两种方法的看法,大概就是

1.通过get方式提交的数据有大小的限制,通常在1024字节左右。也就是说如果提交的数据很大,用get方法就可需要小心;而post方式没有数据大小的限制,理论上传送多少数据都可以。

2.通过get传递数据,实际上是将传递的数据按照”key,value”的方式跟在URL的后面来达到传送的目的的;而post传递数据是通过http请求的附件进行的,在URL中并没有明文显示。

,顺带说一句,Date()..toLocaleString() 这个函数主要的目的是把得到的日期格式化成字符串类型,我使用的时候显示了一条横线,就是意思这个方法以及被废弃了,但是并不影响使用,但是我看别人的代码。并没有被废弃。仔细看了看好像自从jdk1.7之后这个方法开始被废弃,不过无伤大雅。

第三步

servlet文件写好,剩下的就是配置web.xml了 因为用的java项目所以一切都得自己来嘛,首先在src的同级建立一个web文件夹,然后在web文件夹下建立一个WEB-INF文件夹,至于为啥大写,我是不知道,要想知道就只能去编这个语言的大佬了╮(╯▽╰)╭。

然后在WEB-INF下建立web.xml文件。具体路径如下图:

第四步

建立文件后,干啥,写呗。下面就是写web.xml的信息,不过写之前首先要知道web.xml是干嘛的。用我的话来说就是web项目所需要配置的东西写在里面,方便去服务器去读取,比如什么访问路径一类的。

然后代码如下图:

简单易懂,不过有几个点需要注意一下,第一个<servlet>标签里的name和class可以不相同,但是大家为了观看美观,方便 一般都是写成一样的。代码规范还是挺重要的,但是<servlet>和<servlet-mapping>两个标签下的name必须是一样,这个可是硬性规定。

然后url-pattern 就是你访问这个servlet所需要的路径了。

对了 最后的最后,记得在WEB-INF下创建classes目录
把项目的class文件输出由原来的 j2ee/bin 设置到 j2ee/web/WEB-INF/classes下
项目右键->properties->Java Build Path->Source->右下角的 Brower-> 指定位置是 j2ee/web/WEB-INF/classes。
为什么要有这一步? 在ecilpse中默认输出的class是在bin目录下,但是tomcat启动之后,在默认情况下,不会去bin目录找这些class文件,而是到WEB-INF/classes这个目录下去寻找。 所以通过这一步的配置,使得eclipse的class文件输出到WEB-INF/classes目录下,那么这样就和tomcat兼容了。

第五步

项目都写完,最后就是把项目放到服务器启动就好了呗。然后。。。发现好像不是这样,是通过tomcat项目访问到这个servlet就行,毕竟这个项目也没啥需要启动。剩下的就是配置tomcat,然后启动了。

可千万别直接找到tomcat所在位置,然后点击startup.bat,启动tomcat后,在网址栏输入个127.0.0.1:8080/hello 这样肯定找不到。tomcat哪知道你这个servlet在哪

首先先找到service.xml 然后打开 在在 <Host name="localhost" 。。。 下面加一句: <Context path="/" docBase="e:\\project\\j2ee\\web" debug="0" reloadable="false" />

注意点就是 docBase里的路径是你项目web所在的位置,可不是固定的。然后剩下的就没什么了。启动tomcat 然后在网址栏输入127.0.0.1:8080/hello ,然后

就是这样了。不过说的简单,这一步还是有问题的,我实现的时候搞崩了自己一个tomcat。(心疼ing。)然后要注意的就是千万别改,就是在该写的位置写上那句代码,如果发现tomcat启动不了,就把那句话删了,再试试能不能正常启动。

然后如果一直尝试不成功的话,就用个纯净版的tomcat 下载链接:http://pan.baidu.com/s/1qYPYfe8 密码:g9vd。然后还是按照上面的配置,应该就成功了。至于为啥有的tomcat不成功。。。 我也不清楚。反正版本兼容性问题什么的最麻烦了。

最后,既然搞崩了tomcat,那就重新看看tomcat的知识把,然后关于tomcat的一些错误大全:http://how2j.cn/k/tomcat/tomcat-faq/1132.html tomcat 都在这个网址上了。

最后安利一下http://how2j.cn/这个网站,很实用,我大多数也都是按照上面的步骤来的,然后最后加一些自己的理解写的博客。里面的许多的知识很基础,讲的算比较详细的了。

时间: 2024-10-18 01:44:10

写一个简单的servlet的相关文章

(2)自己写一个简单的servle容器

自己写一个简单的servlet,能够跑一个简单的servlet,说明一下逻辑. 首先是写一个简单的servlet,这就关联到javax.servlet和javax.servlet.http这两个包的类,其中一个比较重要的接口就是:javax.servlet.Servlet,所有的servlet必须实现实现或者继承实现该接口的类. Servlet接口有五个方法: public void init(ServletConfig config) throws ServletException publi

利用servlet和html写一个简单的登录

写一个简单的html登录页面,然后利用servlet来进行验证账号密码. html代码: <!DOCTYPE html> <html> <title>登陆页面</title> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action = &

Servlet复习1: 一个简单的Servlet的使用

Servlet学习 1. Servlet与JSP的关系 2. Servlet的声明周期 3. 一个简单的Servlet的使用方法 什么是Servlet? 什么又是JSP? 继承了javax.servlet的一些类的程序 , 已经具有了Servlet的特征 但是Servlet的可视性不是太好, JSP可以弥补这一点 , jsp是Java Server Pagers , 是一种使用java作为脚本的语言, 在web服务器中可以转化为Servlet , 在传统的HTML网页中使用<% java语言 %

使用springboot写一个简单的测试用例

使用springboot写一个简单的测试用例 目录结构 pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:

linux设备驱动第三篇:写一个简单的字符设备驱动

在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存. 下面就开始学习如何写一个简单的字符设备驱动.首先我们来分解一下字符设备驱动都有那些结构或者方法组成,也就是说实现一个可以使用的字符设备驱动我们必须做些什么工作. 1.主设备号和次设备号 对于字符设备的访问是通过文件系统中的设备名称进行的.他们通常位于/dev目录下.如下: [plain] vie

分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业不是百度来的,我只是百度了一些示例代码的意思,怎么用!算了,越解释万一越黑呢!哈哈O(∩_∩)O哈哈~) ----------------------------------------------------------------分界线------------------------------

Java写一个简单学生管理系统

其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来做一个有界面的学生管理系统.其实都并不会太难. 今天我就先写一个简单的用List来实现学生管理系统: 首先,管理系统是针对学生对象的,所以我们先把学生对象就写出来: package bean; public class Student { String name; String studentId;

DuiVision开发教程(2)-如何写一个简单的界面程序

基于DuiVision界面库开发的界面程序主要包括如下几部分内容: 1.资源定义,包括图片资源.各个窗口界面的xml定义文件 2.事件处理类代码,用于处理界面响应消息 3.其他业务逻辑代码 下面举例说明如何写一个简单的界面程序. 第一步:使用VC向导创建一个有两个tab页面的DuiVision工程 向导生成的解决方案文件如下: 默认有两个工程,分别是DuiVision库和应用程序工程.自动生成的代码目录中bin目录下的内容那个如下,bkimg目录存放窗口背景图片,skins目录存放图片资源,xm

在cmd下编译一个简单的servlet时出现程序包javax.servlet不存在

由于servlet和JSP不是Java平台JavaSE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置. 解决“软件包 javax.servlet不存在”错误的方法: 1. 搜索servlet-api.jar 所在文件夹:E:\TomcatSetup\lib 2. 将环境变量CLASSPATH的值设置为: .;E:\TomcatSetup\lib\servlet-api.jar 3. 除了设置classpath以及servlet-api.jar外