servlet在tomcat下向文件中写东西时应该注意的问题


作者:王奎            此文章也同时发布于我的博客:www.marksaas.com

刚才看到一篇文章,讲到的是servlet写文件,这篇文章还是写的有问题,和我上一篇 servlet在Tomcat下读取文件犯了同样的毛病。还可以参考我以前的文章 tomcat下获取项目绝对路径问题

就是文件绝对路径有问题,错误的代码我就不上了,下面写一下正确的代码,并说一下应该注意的问题。

下面是正确的代码,,说明一下news.txt在类路径下。

response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
		
		PrintWriter out=response.getWriter();
		String fileName="/WEB-INF/classes/news.txt";
		String realPath=this.getServletContext().getRealPath(fileName);
		File file=new File(realPath);
		if(file.exists()){
			FileWriter writer=new FileWriter(file);
			BufferedWriter bufferedWriter=new BufferedWriter(writer);
			bufferedWriter.write("hello");
			bufferedWriter.newLine();
			bufferedWriter.write("word");
			bufferedWriter.flush();
			bufferedWriter.close();
			writer.close();
		}else{
			out.println();
		}
	
我是在eclipse下部署到tomcat上的,我访问servlet时发现没有报错也没有其他异常,但是文件里就是没有东西,刷新也不行,最后打开部署到服务器上的项目时发现已经

写入到文件里了,回到看一下eclipse下文件的路径才发现并不是项目部署的路径,其实在部署时,eclipse把文件拷到一份到服务器下。。

Tomcat下创建Web应用程序并添加动态Servlet文件的步骤如下: 1. **安装Tomcat**: 首先,你需要下载并安装Apache Tomcat服务器。可以从其官方网站下载适合你的操作系统版本。 2. **设置工作目录**: 安装完成后,通常会在`<Tomcat_home>/webapps`目录下有一个名为`ROOT`的默认Web应用。你可以在这个目录下创建一个新的文件夹,比如`myapp`,用于存放你的项目。 3. **创建Web.xml**: 在`myapp`目录下,创建一个名为`WEB-INF`的文件夹,并在其中创建一个`web.xml`文件。这是一个部署描述符,用于配置Servlet和其他Web组件。在这个文件里,你会声明你的Servlet,例如: ```xml <web-app> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> </web-app> ``` 4. **编Servlet类**: 创建一个Java文件,如`com.example.MyServlet.java`,继承自`javax.servlet.http.HttpServlet`。在这类中,你需要覆盖`doGet()`或`doPost()`方法来处理HTTP请求。例如: ```java import javax.servlet.*; import java.io.*; public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 这里编处理GET请求的逻辑 } // 如果需要处理POST请求,可以覆盖这个方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 这里编处理POST请求的逻辑 } } ``` 5. **部署Web应用**: 将`web.xml`和`MyServlet.java`以及相关的资源文件复制到`<Tomcat_home>/webapps/myapp`目录下。关闭并重启Tomcat,通过访问`http://localhost:8080/myapp/myservlet`来测试你的Servlet是否已生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值