eclipse开发Servlet

#eclipse 开发Servlet
1.新建工程。

百度了下,只有在你的应用的WebContent/WEB-INF/lib加上库,才会显示。
开发与配置比较简单,但是eclipse部署应用到自己的tomcat上出现问题,查阅了网上的一些资料。

##eclipse配置Tomcat服务器server locations的方法(转之http://yedward.net/?id=303)
最近放弃了使用Myeclipse,转而使用eclipse作为开发工具,确实Myeclipse集成了太多东西,使得开发人员的配置越来越少,这不是个好事,使用eclipse后,有些地方就得自己去配置,比如配置J2EE需要的一些jar包,自己配置server服务器等等。

我在使用eclipse配置Tomcat服务器的时候发现,默认情况下Tocmat把我们部署的项目放在了workspaces下面,而不是像Myeclipse默认的那样放在tomcat的安装路径下。

图1:Tomcat配置

从上图1中可以看到,Server Locations配置是灰色的,无法去修改,当然,这里我已经勾选成了Use Tomcat installation,即部署在Tomcat安装目录下。eclipse默认是勾选的第一项,即Use workspace metadata。那么,怎么去修改该配置呢?


图2:删除项目并Clean

如上图2所示,想要Tomcat的Server配置可以修改,那么首先将server下面部署的所有项目都先remove掉,然后再在server上右键鼠标,选择Clean,clean完以后,再次双击server进入配置,即可发现配置可修改。


图3:修改server配置

如上图3所示,配置已经可以修改了。

有时候,eclipse启动tomcat的时候会出现:WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:firstProject’ did not find a matching property 这样的问题,我也遇到过这样的报错信息。出现这个问题,可能是由于没有勾选server options下的Publish module contexts to separate XML files,我是通过勾选了该配置项解决了这个问题。

最后,提醒下,修改了配置以后,别忘了保存修改。

Servlet的线程安全问题?
Servlet的线程安全问题只有在大量的并发访问时才会显现出来,并且很难发现,因此在编写Servlet程序时要特别注意。线程安全问题主要是由实例变量造成的,因此在Servlet中应避免使用实例变量。如果应用程序设计无法避免使用实例变量,那么使用同步来保护要使用的实例变量,但为保证系统的最佳性能,应该同步可用性最小的代码路径。

servletConfig与servletContext对象

##读取资源文件(servlet读配置文件与普通类读取资源文件)

  1. Servlet读资源文件首先获得一个ServletContext对象,在调用
    ServletContext.getResourceAsStream(path)
    ServletContext.getResource(path)
    ServletContext.getRealpath(path)
    选择其中一种方式:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     ServletContext context = this.getServletContext();
     //注意:资源文件路径应该是虚拟路径,不是实际路径(E:Javaidesworkspaceday0WebContentdb.properties)
     java.io.InputStream in=context.getResourceAsStream("/db.properties");
    
     //读properties文件
     Properties p =new Properties();
     p.load(in);
     String url = p.getProperty("url");
     String username = p.getProperty("username");
     String password = p.getProperty("password");
    
     System.out.println(url);
     System.out.println(username);
     System.out.println(password);
    }
    
  2. 普通类读资源文件(重要)
    package cn.itcast.dao;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class StudentDao {
public String get() throws IOException{//类装载器读
ClassLoader loader = StudentDao.class.getClassLoader();
InputStream in = loader.getResourceAsStream(“db.properties”);//相对于claesses文件夹
Properties p = new Properties();
p.load(in);

    String url = p.getProperty("url");
    String username = p.getProperty("username");
    String password = p.getProperty("password");

    System.out.println(url);
    System.out.println(username);
    System.out.println(password);
    return null;
}

}

1.类装载器读资源文件存在一个问题,资源文件改动,获取的url,uername,password还是原来的信息。怎么办? 需要改成一下方式,注意红色字体变化。

ClassLoader loader  = StudentDao.class.getClassLoader();
java.net.URL url = loader.getResource("db.properties");
String dbPath = url.getPath();
FileInputStream in = new FileInputStream(dbPath);
Properties p = new Properties();
p.load(in);

String db_url = p.getProperty("url");
String username = p.getProperty("username");
String password = p.getProperty("password");

System.out.println(db_url);
System.out.println(username);
System.out.println(password);

2.类装载器读资源文件一般不大。

##Servlet高级应用----缓存设置
设置缓存有两种场景:
>场景一是对于不经常变化的数据,在servlet里可以为其设置合理的缓存时间,以避免浏览器频繁的向服务器发送请求。

package cn.nyist.servlet.context;

public class ServletDemo10 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {  

       String value="abc";
       response.setDateHeader("Expires", System.currentTimeMillis()+1000*180);

       response.getWriter().write(value);

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        doGet(request,response);
    }

}

原文:大专栏  eclipse开发Servlet

原文地址:https://www.cnblogs.com/petewell/p/11601778.html

时间: 2024-11-08 23:38:11

eclipse开发Servlet的相关文章

使用eclipse开发servlet

package cn.itcast; import java.io.IOException; import javax.servlet.GenericServlet; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class ServletDemo1 extends GenericServlet { @

使用eclipse开发servlet示例

零.开发环境 1.eclipse+tomcat(tomcat插件已安装到eclipse中). 一.开发servlet步骤 有点事情,过会再写...

用eclipse开发servlet,使用System.out.println()在console打印不出数据的问题

很多的时候当我们发现我们写的servlet出了问题的时候都会下意识的去在相关的地方插入System.out.println()打印出当前获得的数据吧,但是在开发servlet的时候,你就会发现,自己刚写的打印语句执行工程之后并没有打印出来,你就会想了吧,大多的新手根本就不知道真正的问题出在哪里,去网上百度一下,发现了很多的东西,就像什么java文件没有被编译成为class,还有servlet的位置放置错误问题,但是你就会发现,自己是在eclipse下开发的根本就不需要部署这些,然后就会想是不是自

eclipse开发servlet应用,Tomcat无法访问jpg图片

今天遇到个奇怪的问题,我发现我放在tomcat的webapps文件夹项目下的jpg文件,浏览器无法访问: 以前没有遇到过这个问题,我知道肯定能访问的,因为以前做过相关应用,不知道问题出在哪. 后来我把eclipse关了,打开了tomcat控制台,启动了服务: 启动后我再次访问同样的地址,这次发现可以访问,断定了问题出在了eclipse中tomcat服务器的配置有问题. 回到eclipse,打开服务器的配置: 问了下群里可爱的小伙伴们,给了我提示,最后解决了问题. 方法如下: 图中选择第二项即可.

如何为Eclipse开发工具中创建的JavaWeb工程创建Servlet

在博客<在Eclipse中如何创建JavaWeb工程>中图文并茂的说明了Eclipse中创建JavaWeb工程的方法,本篇博客将告诉大家如何为Eclipse开发工具中创建的JavaWeb工程创建Servlet: 1.在Eclipse开发工具中创建的JavaWeb工程文件目录结构如下图: 说明: a).红框框定的结构用于存放Java类及其相应的包:用于存放Libraries文件夹: b).灰框框定的结构用于显示(非"存放")JavaWeb工程所依赖的JDK相关的jar包: c

用 Tomcat 和 Eclipse 开发 Web 应用程序

用 Tomcat 和 Eclipse 开发 Web 应用程序 Apache Tomcat & Eclipse 平台是一款杰出的 Web 开发平台 若将 Eclipse 与 Apache Tomcat 直接集成,那么将其用作 Web 开发平台就会更为容易.通过本文,了解如何设置 Eclipse 和 Apache Tomcat V5.5 来开发经典的 Hello World servlet. 4评论: Nathan A. Good, 作家兼软件工程师, Freelance Developer 关闭

用Eclipse开发Dynamic Web Project 应用程序

用Eclipse 开发Dynamic Web Project应用程序 (2012-12-04 11:23:08) 标签: 杂谈 分类: web开发 http://blog.csdn.net/blue_fire2008/article/details/7525557 简介:本文仅简单介绍基于Eclipse开发Dynamic Web Project应用下的JSP,Servlet及TOMCAT数据源的配置和开发. 软件环境: Eclipse Java EE IDE for Web Developers

用Eclipse 开发Dynamic Web Project应用程序 【转】

简介:本文仅简单介绍基于Eclipse开发Dynamic Web Project应用下的JSP,Servlet及TOMCAT数据源的配置和开发. 软件环境: Eclipse Java EE IDE for Web Developers压缩包eclipse-jee-indigo-SR2-win32.zip JDK安装包jdk-7u1-windows-i586.exe TOMCAT安装包apache-tomcat-7.0.27.exe MySQL压缩包mysql-6.0.4-alpha-win32.

Eclipse JSP/Servlet 环境搭建

Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装,可参阅 Java 开发环境配置. 我们可以使用 Eclipse 来搭建 JSP 开发环境,首先我们分别下载一下软件包: Eclipse J2EE:http://www.eclipse.org/downloads/ Tomcat:http://tomcat.apache.org/download-70.cgi Tomcat 下载安装 你可以根据你的系统下载对应的包(以下以Window系统为例): 下载之后