一篇博客带你拿下吉林大学JAVAEE期末
Posted 让AI服务于我
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一篇博客带你拿下吉林大学JAVAEE期末相关的知识,希望对你有一定的参考价值。
一、 Web 应用
1)组成
- 静态Web程序
- 采用HTTP协议+html
2)缺点
- 无法加载动态内容,只能通过修改html代码实现内容重新加载。
- 界面不够美观
二、Servlet概念及其简单示例
1)什么是Servlet?
servlet=server+applet,表示小的服务程序,它是运行在web服务器上的java应用程序,与传统的从命令行启动的java应用程序不同,servlet由web服务器进行加载和调用。
- 优点:可以使用java语言的所有特性,灵活、方便
- 缺点:使用java代码打印出Web形式的输出结果繁杂,阅读困难。
2)Servlet的调用过程
3)Servlet的生命周期
4)本质
Servlet实质上是以单例的形式被实现的,它在被初始化之后将一直在内存中活动,后续的客户请求servlet服务时不再创建该servlet的新的对象,只是新建一个线程调用service() 方法。
5)开发过程
1.创建工程
- src放置Servlet类的源文件,*.java文件
- EAR Libraries 显示工程所包含或者已经引入的类库
- WEB-INF放置Web工程的配置文件、页面文件及资源文件,如*.xml,*.class等。
- lib放置工程需要包含的库文件,如数据库驱动。
- web.xml:Web工程部署配置文件。
2.创建servlet类
在Web应用中如果没有特殊需要,一般开发者定义的Servlet类都扩展HttpServlet。
- HttpServletRequest类的对象用来封装了客户端提交的请求,是输入参数
- HttpServletResponse类的对象将处理结果进行封装,用来向客户端返回,是输出参数
3.配置servlet类
定义了Servlet类之后,还需要对其进行配置才能使Servlet容器发现找到Servlet类。配置方式有两种:
- 标注
- xml文件配置
4.发布servlet类
- 发布过程就是将Web应用按照特定的打包格式进行打包,然后将其拷贝到Web服务器规定的目录下,并让服务器更新加载这个Web应用的过程。
- 成功发布之后,在Web服务器的指定目录下,能够看到打包好的工程发布文件
5. 调用servlet类
- 一种是直接使用Servlet的URL对Servlet进行访问,这种情况包括使用HTML链接、JSP跳转、或者浏览器地址栏中输入地址等方式。这种方式Web容器将调用Servlet的doGet() 方法为请求提供服务。
- 另一种是在表单中设置提交目标为Servlet的URL,这种方式Web容器将调用Servlet的doPost() 方法为请求提供服务。
- 其实可以简单理解一个是直接获取一个是传递给servlet东西。
6) Servlet主要接口和类
了解了解得了不能考
7) Servlet共享变量
三种实例可以实现,他们的生命周期不同。
- ServletContext:范围最大,整个应用程序都能访问。
- HttpSession:次之,会话级别的,在当前的浏览器中都能访问。
- HttpServletRequest:范围最小,请求级别,请求结束,变量的作用域结束。
这三种方式共享变量的方法是使用Context、Session、Request类型的实例调用setAttribute(“varName”,obj) 方法将需要共享的变量存储到对象当中。然后在需要使用该共享变量的地方再通过,再通过实例的getAttribute(“varName”) 方法来获得变量。
8)用servlet读写文件
1.读文件
在Servlet中读取文件的操作和步骤与在普通Java程序中读取文件相同,一般利用File、FileReader和BufferedReader 类的组合来完成。
2.写文件
在Servlet中写文件的方法和步骤也是和普通的Java程序一致的,通常使用File、FileWriter和BufferedWriter的组合来完成。
3.上传文件
- @MultipartConfig标注写在 Servlet 类的声明之前。以表示该 Servlet 希望处理的请求是 multipart/form-data类型的。另外,该标注还提供了若干属性用于简化对上传文件的处理。
4.下载文件
- 首先需要在response中对需要下载的文件类型、头信息、文件长度等信息进行设置。然后读取服务器上文件的内容并写入到response的输出流中。
9)Servlet访问数据库
- 和普通的java程序一样,如果你选修了上学期的企业级数据库性能调优是完全没问题的。
10)总结
以上是关于一篇博客带你拿下吉林大学JAVAEE期末的主要内容,如果未能解决你的问题,请参考以下文章