1、建javaweb项目
2、将tomcat环境导入到项目中
3、建包,在包中建内
建包的目的:是为了区别不同包中的类(就相当于现实生活中,有两个王强,分别在不同的班一样)
代码:
一、java部分:
FileRead
package com.servletdemo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileReader;
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 FileRead extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws
IOException,ServletException
{
System.out.println("doGet方法被调用");
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("utf-8");
String realPath = request.getParameter("filePath");
File file = new File(realPath);
if(file.exists()){
FileReader reader = new FileReader(file);
BufferedReader bufferReader = new BufferedReader(reader);
String line = null;
while((line = bufferReader.readLine()) !=null){
out.print(""+line+"
");
}
}else{
out.print("文件不存在");
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws
IOException,ServletException
{
doGet(request,response);
}
}
二、read.jsp
pageEncoding="utf-8"%>
Insert title here请选择读取文件路径: |
三、web.xml
FileRead
com.servletdemo.FileRead
效果图:
编程遇到的问题:我在敲web.xml的时候出现
这里被eclipse提醒:The import com.servletdemo.FileRead cannot be resolved
我百度了一下:因为环境没配好,只要在WEB-INF的lib中copy进去tomcat中lib文件里的servlet-api.jar就行了,其实eclipse标签很多提示可能就是没有把环境部署好,我应该对这个问题多注意
Servlet理解:
Servlet实际就是一个类,能处理客户端的请求并作出相应
它的生命周期:
1、生成Servlet,加载到Servlet Engine中,并通过调用其init()方法来进行初始化
2、通过提供的相应方法来处理客户端的请求
3、调用destory()方法进行销毁,并通过垃圾收集器(只有概念,没有深入,我觉得有时间要深入它)进行收集清理
它的常用方法:
doGet方法:用来处理客户端浏览器直接访问和get方式提交的表单
doPost方法:用来处理表单post方式提交的表单,不能处理客户端浏览器直接访问
service方法:用来处理客户端浏览器直接访问和以表单get方式提交的表单,以及以表单post方式提交的表单
它的常用接口:
HttpServletRequest接口
HttpServletResponse接口
HttpSession接口
ServletContext接口