MVC设计模式
不是Java特有的,所有的B/S结构的项目都可以用这种设计模式。
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
*控制器Controller:对请求进行处理,负责请求转发;
*视图View:界面设计人员进行图形界面设计;
*模型Model:程序编写程序应用的功能(实现算法等等)、数据库管理;
JavaWeb三层架构
web层:与web相关的内容(Servlet,JSP,Service相关的API;request、response、session、ServletContext)
业务层:业务对象的处理(Service)
Dao层:(DAO Data Access Object)操作数据库,所有对数据库的操作,不能跳出DAO层之外
注意: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