1、打开Eclipse4.2,新建一个Maven项目
1)选择maven的archetype为maven-archetype-webapp
2)填写项目信息
2、完善项目目录结构
1)手工添加 src/main/java、src/test/java和src/test/resource 三个source folder,在项目上右键 New ---->Source Folder,输入folder name即可。
2)修改Source Folder的编译路径,进入Java Build Bath窗口,双击每个文件夹下的Output folder,指定路径。
src/main/java和src/main/resource指定target/calsses,
src/test/java和src/test/resource指定target/test-classes
都选上选上Allow output folders for source folders.
3、把项目转为 Dynamic Web Module
1)在项目上点击右键,选择属性,然后选择Project facets,然后点击Convert to faceted form...
勾选Dynamic Web Module,选择3.0,表示支持servlet3.0
勾选Java,选择1.6或更高的jdk版本
然后再点击Further configuration available...,在弹出的窗口中Context directory输入:src/main/webapp
2)配置部署的程序Deployment Assembly,删掉test的那两项,test的程序发布的时候不需要,添加maven的依赖库,Eclipse发布的时候可以发布到lib目录中
3)删除jdk5,添加jdk6
4、pom.xml文件配置,添加Servlet3依赖、日志配置等
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.luxh.app</groupId> <artifactId>app</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>app Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 属性配置 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>4.10</junit.version> <logback.version>1.0.7</logback.version> <slf4j.version>1.7.2</slf4j.version> </properties> <!-- 依赖配置 --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1-b02</version> <type>jar</type> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> </dependencies> <build> <finalName>demo</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> </project>
5、logback.xml日志文件配置,该文件存放在src/main/resources/目录下
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 控制台输出 --> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="stdout"/> </root> </configuration>
6、编写Servlet
1)写个编码过滤器
package cn.luxh.app.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Servlet Filter implementation class EncodingFilter */ @WebFilter("/EncodingFilter") public class EncodingFilter implements Filter { final static Logger LOG = LoggerFactory.getLogger(EncodingFilter.class); public void destroy() { LOG.info("销毁......"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); chain.doFilter(request, response); } public void init(FilterConfig fConfig) throws ServletException { LOG.info("初始化......"); } }
2)第一个Servlet
package cn.luxh.app.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Servlet implementation class FirstServlet */ @WebServlet("/FirstServlet") public class FirstServlet extends HttpServlet { final static Logger LOG = LoggerFactory.getLogger(FirstServlet.class); private static final long serialVersionUID = 6833688147345340845L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { LOG.info("hello"); PrintWriter out = response.getWriter(); out.print("first servlet"); out.flush(); out.close(); } }
3)web.xml不需要任何配置,用tomcat7发布,tomcat6不支持Servlet3。访问:http://localhost:8080/app/FirstServlet
相关推荐
Servlet3.0 实现文件上传的方法是通过利用其新特性,包括注解支持和HttpServletRequest对象对文件上传的内置处理,从而简化了以往依赖第三方库如Apache Commons FileUpload的复杂过程。在Servlet 3.0中,我们可以...
本教程将引导初学者进入Servlet的世界,通过一个简单的入门例子来理解其基本概念和工作流程。 1. **Servlet简介** Servlet是Java API的一部分,允许开发者创建动态Web应用。它是一个Java类,继承自`javax.servlet....
EJB 3.0是EJB规范的一个重要版本,它引入了许多简化开发的特性,使得EJB更加易用且更接近Java SE的编程模型。本工程实例是一个能运行的EJB 3.0项目,它包含了必要的配置文件和源代码,可以帮助开发者理解EJB 3.0的...
总之,"servlet学习的一个例子"涵盖了Servlet与JSP的基本概念和协作方式,通过实践可以更好地理解和掌握这些核心技术,为构建复杂的Java Web应用打下坚实基础。在这个项目中,你可以看到Servlet如何处理请求,如何与...
【Eclipse 3.0 配置JSP开发环境】\n\nEclipse是一款流行的...\n\n完成以上步骤后,你就成功地在Eclipse 3.0上配置了一个用于JSP开发的环境。现在你可以开始创建、编辑和运行JSP项目,享受Eclipse带来的高效开发体验。
根据Mark Thomas,Tomcat 7委员会的经理的说法,Tomcat 7最显著的三个特征是Servlet 3.0,内存检测泄露和增强的安全特性。 Tomcat 7的例子程序中,包含了Eclipse的工程文件和Ant的构建文件,以方便去构建war文件...
**Spring3.0**: Spring是一个轻量级的Java开发框架,主要用于简化企业级应用的开发。Spring的核心特性包括依赖注入(DI)和面向切面编程(AOP),同时支持声明式事务管理等高级功能。 **JPA1.0**: Java Persistence API...
2. 创建Spring 3.0 MVC的"Hello World"应用:通过一个简单的示例,帮助初学者理解如何搭建和运行Spring MVC项目。 3. Spring 3.0 MVC处理表单:讲解如何在Spring MVC中处理用户输入的表单数据。 4. Spring 3 MVC ...
CXF是一个流行的开源框架,用于创建和消费Web服务,而Spring框架则是一个强大的Java企业级应用开发平台。本教程将深入探讨如何结合CXF和Spring来构建一个简单的Java WebService。 首先,我们需要理解CXF的基本概念...
jQuery 是一个广泛使用的 JavaScript 库,简化了 DOM 操作、事件处理和AJAX交互,使得在网页上创建交互性内容变得更加简单。 3. **Java 和 MySQL 集成**:在描述中提到的项目中,FullCalendar 与 Java 后端和 MySQL...
总的来说,"Tomcat Mac"是一个关于在Mac操作系统上安装、配置Apache Tomcat 7.0.63,并与Eclipse IDE集成以进行Java Web开发的主题。这一过程涵盖了从下载安装、环境配置、服务器管理到应用部署的各个环节,为开发者...
- 使用IDE(如Eclipse或IntelliJ IDEA)创建一个新的Dynamic Web Project。 - 指定项目名称、目标运行时环境(例如,Java Servlet 3.0),并选择合适的服务器(如Tomcat)。 - 配置项目构建路径,确保包含必要的...
使用`Part`接口(Java Servlet 3.0及以上版本)或`InputStream`和`OutputStream`来读写文件内容。 4. **存储图片**:在`WebContent`目录下,可以创建一个专门用来存储上传图片的文件夹,如`uploads`。JSP页面将上传...
50 4.2 开发和部署一个简单的Servlet 51 4.3 Servlet常用API介绍 53 4.3.1 Servlet实现相关 54 4.3.2 Servlet配置相关 54 4.3.3 Servlet异常相关 55 4.3.4 请求和响应相关 55 4.3.5 会话跟踪 56 4.3.6 Servlet上下文...
这通常是一个Servlet或JSP,但在HelloWorld示例中,可能只是一个简单的Java类。使用`@EJB`注解注入bean实例: ```java import javax.ejb.EJB; public class HelloWorldClient { @EJB private HelloBean helloBean...
本项目“flex3小例子”是一个基于Flex3和Java的小型示例,展示了如何将这两个技术结合使用。以下是这个项目的关键知识点: 1. **Flex3框架**:Flex3是ActionScript 3.0上的一个开发框架,提供了MXML语言来构建用户...
【MyEclipse_8_5_flex4+Blazeds配置例子和blazeds下载】是一个关于集成开发环境MyEclipse 8.5与Adobe的BlazeDS集成使用的教程资源包,包含了配置文档和示例代码,以及BlazeDS的下载链接。这个资源对于开发者来说是...