一.新建Web工程
(1)更新插件以获取Dynamic Web Project:Eclispe→Help→Install New Software→下拉选择后等一会
就会出现需要更新的东西如下图
下拉选择Web,XML,Java EE and OSGI Enterprise Development,再选中其中的
然后按next进行下载。之后重启eclipse就会出现web工程。
(2)Eclispe→New→Other→Web→Dynamic Web Project
点击后会出现让你填写工程名字的框,这里还需要选择你所下载的tomcat版本,按New Runtime进行选择,直接选解压后的tomcat文件夹即可。然后finish即可创建一个web工程。
二.JSP版输出HelloWorld
写法一:展开你所建立的web工程,我这里是HelloJSP→Java Resources→src(点击右键)→new→class建立一个.java以跟jsp连接起来
写完java代码后随即创建jsp文件,展开WebContent→WEB-INF→点击WEB-INF右键→new→JSP file
到此为止就建立好了java文件和jsp文件,接下来可以写代码了
(java代码)
package com.bnusri;
public class HelloWorld {
public String sayHelloWorld(){
return " Say Hello World to JSP Page ";
}
}
(JSP代码)
除了红色的部分均为建立文件时自动生成的语句,蓝色部分是要自己修改的,原来的是charset=ISO-8859-1,这个是编码标准,按此编码标准是不能输出汉字的,建议都改为utf-8或者GB2312。
第一句红色的为与java文件连接,class部分要写【包名.类名】
运行后就可以看到网页上出现HelloWorld

若在同一个工程下建立了两个jsp文件可能会因为不注意而出现的问题:404-NOT Found
解决:.JSP文件要放在WebContent下而不能直接放在WEB-INF下
写法二:不建立java文件,直接用jsp文件输出
三.Servlet版输出HelloWorld
(1)跟JSP工程的创建方法一样:Eclispe→New→Other→Web→Dynamic Web Project,此处命名为HelloServlet
(2)在Java Resources的src里new一个包,再在包里new一个 servlet文件,填写好class name后就可撰写代码
(3)代码实现
package com.bnuz;
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;
public class HelloWorld extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html";charset=utf-8");//响应的字符集类型
request.setCharacterEncoding("UTF-8");//请求的字符集类型
PrintWriter out = response.getWriter();//设置输出流
out.println("HelloWorld I am Servlet");
}
}
(4)写xml配置文件,同一个工程下只有一个xml文件,一个xml文件配置完所有servlet文件。
新建xml文件:WebContent→WEB-INF右键new→XML→XML File
代码:
<?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_3_0.xsd" version="3.0">
<servlet>
<servlet-name>HelloWorld</servlet-name><!-- servlet的类名-->
<servlet-class>com.bnuz.HelloWorld</servlet-class><!-- 所在的包,要写【包名.类名】-->
</servlet>
<servlet>
<servlet-name>Hello</servlet-name>//<!-- 同一个工程下的第二个类-->
<servlet-class>com.bnuz.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name><!-- 与上面的类名保持一致 -->
<url-pattern>/HelloWorld</url-pattern><!-- 访问的网址,“/”表示加了绝对路径类似于:localhost:8080/ 所以只需要配置访问页面的文件名,文件名自定义 -->
</servlet-mapping>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/Hello</url-pattern><!-- 访问的网址 -->
</servlet-mapping>
</web-app>
在servlet代码中Run As 。 运行结果: