01-Java Web——JSP+Servlet+JavaBean开发模式
01-Java Web——JSP+Servlet+JavaBean开发模式
前言:在Struts1出现之前曾经有这么一种开发模式风靡整个Java Web界,这就是JSP+Servlet+JavaBean的模式。
分析:由Servlet来接收客户端发送过来的请求,Servlet中只包含控制逻辑和简单的前端处理;控制逻辑部分交给Java Bean来完成,其实这也是很有道理的,毕竟前期Java Bean只用来跟数据库进行简单的交互,交互完之后又传给JSP进一步处理,为啥不让Java Bean直接进行逻辑处理呢。Java Bean完成了复杂的逻辑处理之后,最后将结果给JSP进行展示。这时候分工很明确了,JSP只负责显示逻辑的部分。这就是非常经典的Java Bean+JSP+Servlet(MVC),这也就是著名的MVC设计模式。由于Model 2 引入了MVC模式,实现了组件化的管理,因此也具有了更好地扩展性。
虽然现在已经很少人这么开发了,但是为了更好地跟之后的Spring MVC进行对比,这里也说明一下此设计的项目构建过程(此处我以Maven为例进行项目构建,虽然在Maven出现之前大家都是将Jar包放在项目的lib目录下实现的):
第一步:
创建Maven项目(此处以STS开发环境为例子)
选择Create a simple project,点击“Next”
填写项目名等内容,点击“Finish”(此处注意打包方式选择“war”)
第二步:添加依赖,编写pom文件
修改完POM文件后需要执行右键maven->updateproject
(若不知道如何添加依赖的请参考Maven入门实战(一)
https://blog.csdn.net/vander1991/article/details/78988568)
pom文件具体内容:
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.cmit</groupId> <artifactId>mvc-demo-1</artifactId> <version>0.0.1-SNAPSHOT</version> <name>mvc-demo-1</name> <description>mvc-demo-1</description> <packaging>war</packaging> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> </dependencies> <build> <!-- 配置了很多插件 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>
第三步:添加web.xml文件到webapp/WEB-INF目录
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" 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"> <display-name>Hello World</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>HelloServlet</display-name> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.cmit.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping> </web-app>
第五步:编写servlet文件
Servlet具体内容如下:
package com.cmit; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class HelloServlet */ public class HelloServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public HelloServlet() { // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.getRequestDispatcher("/hello.jsp").forward(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }第六步:编写jsp视图文件
jsp具体内容如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>The First Example</title> </head> <body> hello world </body> </html>实现的效果如下:
最后献上此次设计的源码,在此处出现的所有源码均有实现,有需要的小伙伴可以下载来运行一下,加深理解(当然是不需要积分的)。
阅读更多
- JavaWeb开发模式二:JSP+Servlet+JavaBean
- web开发模式_servlet+jsp+javabean+3层结构
- 对基于Servlet+JSP+JavaBean开发模式的用户登录注册的升级
- JavaWeb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- javaWeb入门<1>Servlet+Jsp+JavaBean实现MVC开发模式登陆注册实例详解
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- JavaWeb开发模式1:JSP+JavaBean
- JavaWeb学习总结(基于Servlet+JSP+JavaBean开发模式的用户登录注册)
- Servlet+JSP+JavaBean开发模式(MVC)介绍
- 深入分析JavaWeb 19 -- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- jsp---->JSP + Servlet + JavaBean开发模式
- 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/
- model1(jsp+javaBean)和model2(jsp+servlet+javaBean+MVC)开发模式优缺点
- 经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程
- Servlet+JSP+JavaBean开发模式(MVC)介绍
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介 推荐
- windows下关于使用eclipse开发web服务器后台项目完整配置(jsp+javabean+servlet)