Servlet学习笔记(使用IDE开发Servlet)
来源:互联网 发布:凶宅美人头 知乎 编辑:程序博客网 时间:2024/05/17 03:32
开发步骤
例子:使用eclipse或者Myeclipse开发一个servlet,实现访问servlet显示hello,并显示当前时间。
(1)建立web工程(Dynamic Web Project:动态网页项目)
(2)建立的同时在src目录下新建一个包,这里我建的是com.cn
(3)之后在包的目录下建立Servlet,这里我建的是Test1
这一步一般勾选doGet()和doPost()即可,之后写的也是实现这两个方法的内容。
最后点击finish完成Servlet的创建,而eclipse会根据你创建的Servlet在WebContent/WEB-INF/web.xml文件中自动生成内容。
内容如下:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>MyServlet1</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>Test1</display-name> <servlet-name>Test1</servlet-name> <servlet-class>com.cn.Test1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test1</servlet-name> <url-pattern>/Test1</url-pattern> </servlet-mapping></web-app>
可以根据需要修改映射信息来控制跳转的页面以及Servlet。
实现例子功能的Servlet的代码如下:
Test1.java:
package com.cn;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class Test1 */public class Test1 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Test1() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); PrintWriter out=response.getWriter(); out.println("test servlet:"+new java.util.Date().toString()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response);//表示将post方式提交的请求交给doGet()处理。 }}
完成代码的编写后,发布项目前需要完成tomcat服务器的配置:
步骤如下:(这里我用的是eclipse+tomcat6.0)
(1)如果底部的控制台那部分窗口中没有servers这一项可以到window->show view->servers中选择添加。之后右键添加一个新的server,根据个人需要更改server的名称。
这里需要注意的是,tomcat和Project所使用的jdk是相同版本的,不然会出错。具体的配置方法eclipse和myeclipse不同,可以上网自行查阅资料,我自己碰到的一个问题就是我用eclipse编写servlet的时候,建立servlet的时候发现引包比如import java.以及import javax. 的一类包都报错了= =。
之前用myecilipse都没什么问题,后来到晚上一查发现是tomcat的问题,原因是我用的是tomcat8.0.然后一堆什么的。
也有人说可以在build path中将 servlet-api.jar 导入即可。(servlet-api.jar在tomcat中的lib目录下),这个我没试过,我是直接使用了解压版的tomcat6.0之后直接解决问题。- -
环境OK了之后,右键建立的server,添加刚刚建立的Project。运行Servet,tomcat会将程序复制一份到tomcat中的webapp中,里面生成的是.class文件(原因是tomcat认为你的.java文件是私有的- -!)
server启动成功之后,通过http://localhost:8080/MyServlet1/Test 访问servlet。成功后如下所示:
因为我的映射是这样的:
<servlet-mapping> <servlet-name>Test1</servlet-name> <url-pattern>/Test1</url-pattern> </servlet-mapping>
所以能通过http://localhost:8080/MyServlet1/Test1来访问。
具体的Servlet细节在另外一部分继续记录。。。
- Servlet学习笔记(使用IDE开发Servlet)
- 学习笔记(4)-----使用MyEclipse开发servlet
- 《Servlet学习笔记》Servlet开发细节
- Servlet学习笔记(Servlet生命周期&开发Servlet的方法)
- Servlet学习笔记(三):Servlet基础
- Servlet学习笔记(三):Servlet基础
- Servlet学习笔记(一)---Servlet生命周期
- Servlet学习笔记2之通过继承GenericServlet开发Servlet
- Servlet学习笔记3之通过继承HttpServlet开发Servlet
- 《Servlet学习笔记》Servlet开发细节-线程安全
- Servlet学习笔记 Servlet原理
- 《Servlet学习笔记》Servlet 简介
- 使用ide开发一个servlet,该servlet显示当前helloworld以及当前日期(MyEclipse)
- [Servlet]使用eclipse开发servlet
- Servlet学习笔记(一)
- Servlet 学习笔记(一)
- servlet学习笔记(一)
- 学习笔记:servlet(1)
- UVA - 1623 - Enter The Dragon
- Android收藏好文章
- 深度学习(Deep Learning)读书思考三:正则化
- 371. Sum of Two Integers也许是最简洁易懂的做法了
- 算法导论梳理(一)
- Servlet学习笔记(使用IDE开发Servlet)
- ReflectionUtils的findField方法
- 只出现一次的数字
- 代码获取storyboard中定义的UIViewController
- WPF注册依赖属性—依赖属性值继承方法
- 常见计算机网络拓扑
- mdd的烦恼
- 【java规范】Java spi机制浅谈
- UILabel 的文字顶部对齐