JavaEE Servlet编程讲解与示例

需积分: 0 1 下载量 184 浏览量 更新于2024-07-13 收藏 2.8MB PPT 举报
"JavaEE 第3章课件包含关于Servlet编程的内容,讲解了Servlet的基础、基本编程技能、高级技能、ServletFilter以及ServletListener。作者是高保禄,课程重点介绍了Servlet在Web服务器中的作用,如何生成动态Web页面,并对比了Servlet与Applet的异同。" 在JavaEE中,Servlet是一种基于Java的服务器端组件,用于扩展服务器功能并生成动态的Web内容。它们不依赖特定的操作系统或网络传输协议。Servlet并非通过命令行启动,而是由运行Java虚拟机的Web服务器加载和管理。 Servlet的主要职责包括处理HTTP请求和动态生成HTTP响应。与传统的CGI程序类似,但Servlet运行在更可控的环境中,通常由Web容器(如Tomcat)管理,容器负责Servlet的生命周期,为每个请求分配线程。 课程讲解了以下几个核心概念: 1. Servlet基础:Servlet是一个Java应用程序,执行在服务器端,无须命令行启动。Servlet容器管理Servlet的生命周期,如创建、销毁等。与Applet类似,Servlet没有独立的main方法,它们在接收到请求时由容器调用相应的方法执行。 2. Servlet编程基本技能:包括如何编写Servlet类,实现`HttpServlet`接口,并覆盖`doGet`、`doPost`等方法来处理HTTP请求。此外,还涉及到如何在Servlet中设置和获取请求参数。 3. Servlet编程高级技能:可能涉及使用会话管理、请求转发和重定向、处理异常、使用MVC模式等,提高Servlet的灵活性和可维护性。 4. ServletFilter编程:Servlet Filter允许在Servlet处理请求之前或之后执行一些预处理或后处理操作,例如进行登录检查、内容过滤等。 5. ServletListener编程:如示例中的`NewServletListener1`,监听会话事件,如会话创建、销毁、属性添加、移除或替换。这使得开发人员可以在特定事件发生时执行自定义逻辑,如记录日志、清理资源等。 在示例代码中,`NewServletListener1`实现了`HttpSessionListener`和`HttpSessionAttributeListener`接口,用于监听会话的创建、销毁以及会话属性的变化。同时,JSP页面展示了如何在服务器端设置和获取会话属性,以及如何移除和无效化会话。 了解和掌握这些Servlet编程的知识点对于开发动态Web应用至关重要,它们是构建JavaEE应用程序的基础,能够帮助开发者实现高效、灵活的服务器端逻辑。

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://JAVA.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>springMVC</display-name> <welcome-file-list> <welcome-file>/WEB-INF/jsp/login.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-mybatis.xml</param-value> </context-param> <filter> <filter-name>encodingFilter</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <context-param> <param-name>webAppRootKey</param-name> <param-value>keshe_C12_09.root</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener> </web-app>

2023-07-16 上传
2023-07-11 上传
2023-05-22 上传

我用Spring5的aop应用时报这个错误Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [D:\ecliple\web5\WEB-INF\applicationContext.xml]; nested exception is java.nio.file.NoSuchFileException: WEB-INF\applicationContext.xml,他说我的applicationContext.xml文件不存在,可是我明明有这个文件,另外我的web.xml需要更改吗<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <context-param> <param-name>contextConfigLocation </param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <display-name>Struts2</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/* </url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>

2023-05-30 上传