java web架构设计_JavaWeb三层架构

MVC设计模式

不是Java特有的,所有的B/S结构的项目都可以用这种设计模式。

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

*控制器Controller:对请求进行处理,负责请求转发;

*视图View:界面设计人员进行图形界面设计;

*模型Model:程序编写程序应用的功能(实现算法等等)、数据库管理;

java web架构设计_JavaWeb三层架构_第1张图片

JavaWeb三层架构

web层:与web相关的内容(Servlet,JSP,Service相关的API;request、response、session、ServletContext)

业务层:业务对象的处理(Service)

Dao层:(DAO Data Access Object)操作数据库,所有对数据库的操作,不能跳出DAO层之外

java web架构设计_JavaWeb三层架构_第2张图片

注意:JSP响应到客户端浏览器,在页面上点击超链接,或者提交表单,是直接请求的Servlet。

使用这样的结构可以解耦合。

例子:

一个JavaBean:User

1 package cn.itcast.domain;

2

3 /*

4 *把数据库中查询的结果保存到这个对象中。

5 * */

6 public class User {

7 private String username;

8 private String password;

9

10 public String getUsername() {

11 return username;

12 }

13

14 public void setUsername(String username) {

15 this.username = username;

16 }

17

18 public String getPassword() {

19 return password;

20 }

21

22 public void setPassword(String password) {

23 this.password = password;

24 }

25

26 @Override

27 public String toString() {

28 return "User [username=" + username + ", password=" + password + "]";

29 }

30

31 public User() {

32 super();

33 // TODO Auto-generated constructor stub

34 }

35

36 public User(String username, String password) {

37 super();

38 this.username = username;

39 this.password = password;

40 }

41 }

UserDAO.java:

1 package cn.itcast.dao;

2

3 import cn.itcast.domain.User;

4

5 //数据层

6 public class UserDAO {

7 /*

8 * 把xml中的数据查询出来之后,封装到user对象中,然后返回

9 * */

10 public User find(){

11 return new User("张三","123");

12 }

13 }

UserService.java:

1 package cn.itcast.service;

2

3 import cn.itcast.dao.UserDAO;

4 import cn.itcast.domain.User;

5

6 //业务层

7 public class UserService {

8 //service层依赖dao层

9 private UserDAO userdao=new UserDAO();

10

11 /*

12 * service的查询 ,需要使用dao来完成

13 * 即调用dao层的方法

14 * */

15 public User find(){

16 return userdao.find();

17

18 }

19 }

UserServlet.java:

1 package cn.itcast.servlet;

2

3 import java.io.IOException;

4 import java.io.PrintWriter;

5

6 import javax.servlet.ServletException;

7 import javax.servlet.http.HttpServlet;

8 import javax.servlet.http.HttpServletRequest;

9 import javax.servlet.http.HttpServletResponse;

10

11 import cn.itcast.domain.User;

12 import cn.itcast.service.UserService;

13

14 public class UserServlet extends HttpServlet {

15

16 //web层

17 public void doGet(HttpServletRequest request, HttpServletResponse response)

18 throws ServletException, IOException {

19 /*

20 * 在service中依赖service,然后通过service完成功能,把结果

21 * 保存到request中

22 * 转发到jsp显示。

23 * */

24 UserService userService=new UserService();

25 User user=userService.find();

26 //保存到域中

27 request.setAttribute("user", user);

28 //显示

29 request.getRequestDispatcher("/show.jsp").forward(request, response);

30 }

31 }

index.jap:

...

...

点击这里

show.jsp:

用户名:${user.username }

密码:${user.password }

请求http://localhost:8080/day13_3/index.jap  后再点击链接跳转到show.jsp

显示:    用户名:张三

密码:123

以上就是JavaWeb的简单使用!!!

标签:username,三层,架构,JavaWeb,User,import,password,public,cn

来源: https://www.cnblogs.com/xjs1874704478/p/10877570.html

你可能感兴趣的:(java,web架构设计)