以Javaweb书第三章习题3为例
1.打开eclipse,选择 File -> New -> Dynamic Web Project 新建一个动态web项目
2.为项目取一个名字,eg:javawebTest 点击 next
3.继续点击 next
4.勾选上generate web.xml 则项目在创建时会自动在相应位置上生成一个xml文件,避免自己在文件夹中找位置创建,点击 finish
5.在左侧工程栏中找到刚才创建的项目,找到 Java Resources文件夹 下的src
6.选中src,右键 -> New -> Servlet 新建一个servlet类
7.为类的包取名,eg:server 为Servlet类取一个名字 eg:ShowTimeServlet,点击next
8.继续点击next
9.确认勾选上doGet 和 doPost后,点击finish
10.完成后系统会自动生成部分必要代码,可以去掉 public ShowTimeServlet类(不去也没有影响)
11.在doGet中重写方法
方法内的具体代码为:
ServletContext context = getServletContext(); //创建一个context对象
Integer count = (Integer)context.getAttribute("counter");
if(count==null){
count=1;
context.setAttribute("counter", count);
}else {
context.setAttribute("counter", count+1);
}
//设置编码,不然中文会变成乱码
response.setContentType("text/html;charset=GB2312");
//得到输出流对象
PrintWriter out=response.getWriter();
out.println("<!DOCTYPE>");
out.println("<html>");
out.println("<head><title>统计网站访问次数</title></head>");
out.println("<body>");
out.println("<h2><font color='gray'>");
out.println("您是第 "+context.getAttribute("counter")+" 位访客! ");
out.println("</font></h2>");
out.println("</body>");
out.println("</html>");
12.将post方法中的doGet前加上this,变成:
13.在存放java的工程文件夹下找到刚才编写的.java文件
(PS:如果不知道放在哪儿可以在每个盘的根目录处,找到windows自带的搜索框,输入你的文件名查找,查找成功选中该文件,右键,打开文件所在位置即可(如下图所示))
14.找到.java文件后,按 windows + r 或者在搜索框中搜索“运行”
15.输入cmd -> 回车 进入命令提示行界面,输入 d: 切换到D盘根目录
16.找到刚才的.java文件,复制它的路径
17.保证切换到D盘根目录的前提下,输入cd 空格 然后粘贴刚才复制的路径 回车
18.切换到相应目录后,输入命令 javac ShowTimeServlet.java 然后回车 将.java文件编译成.class文件
19.此时可能会出现如下图所示的错误,如果出现该错误,则输入命令:set classpath=%classpath%;D:\Java\apache-tomcat-8.0.29\lib\servlet-api.jar
分号后面的D:…是你电脑中tomcat文件夹下的路径(找到自己将Tomcat解压的文件夹的地方,找到lib文件夹然后复制它的路径再手动输入\servlet-api.jar即可得到上面的命令)
20.设置了classpath后再次输入 javac ShowTimeServlet.java 即可成功编译出.class文件
此时回到自己存放.java的文件夹中可以发现多了.class文件的出现,返回上一步,将src以下的整个文件夹复制下来
21.此时到tomcat文件夹下找到 webapps -> ROOT -> WEB-INF文件夹,新建一个名为 classes的文件夹,进入 class 文件夹 将刚才复制的文件夹拷贝过来(如图所示)点进该文件夹,只保留.class文件
22.完成上述步骤后,回到WEB-INF目录下,点击web.xml -> 右键 -> 打开方式 -> 记事本
23.在如下图位置中将如下代码复制上去
<servlet>
<servlet-name>ShowTimeServlet</servlet-name>
<servlet-class>server.ShowTimeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowTimeServlet</servlet-name>
<url-pattern>/ShowTimeServlet</url-pattern>
</servlet-mapping>
PS:
- servlet-name是你在eclipse中建立servlet时取的类名
- Servlet-class是在eclipse中创建时的包名和类名
- Url-pattern是你要在浏览器上访问的地址,因为eclipse已经为您自动生成好了访问地址,建议不要该班,否则可能会出错
写完后记得保存,然后就可以关闭该记事本文件了
24.上述步骤完成后,回到eclipse ,在下方的面板中找到servers控制台,选中tomcat -> 右键 -> add and remove(如果您找不到这个东西说明没有安装tomcat服务器,百度如何安装tomcat服务器即可)
25.选择刚才创建的工程名字,点击中间的add,此时右侧框中会出现你的工程名,点击finish完成将工程添加到服务器
26.此时再次选中tomcat服务器 -> 右键 -> start 完成启动服务器,启动完成后服务器的状态会从stopped 变成 stated(中间控制台会出现一连串的红色字体,那只是tomcat服务器在启动加载,不是报错)
27.启动成功后,进入浏览器输入如下网址:http://localhost:8080/ShowTimeServlet
Ps:8080后面的地址是在第23步中设置的url-pattern的值
此时刷新访客量会增加,项目完成