JavaWeb笔记

六、MVC模式

Model(模型)

职责:处理数据和业务逻辑。

  • 负责数据的存储、读取和操作。

  • 包含业务规则和逻辑。


View(视图)

职责:展示界面和接收用户输入。

  • 把数据以可视化的形式呈现给用户。

  • 不处理业务逻辑,只负责显示。


Controller(控制器)

职责:协调模型与视图,处理请求。

  • 接收用户请求(如点击按钮、提交表单)。

  • 调用模型处理业务逻辑。

  • 控制流程并决定使用哪个视图展示结果。

七、页面提交方式

跳转方式触发方式是否能传值传递值的方式声明跳转的方法/示例
超链接点击URL参数(查询字符串)<a href="targetPage.jsp?param1=value1¶m2=value2">Link</a>
表单提交(自动或编程式)表单字段(GET方法:URL参数;POST方法:请求体)<form action="targetServlet" method="GET/POST">...</form>
Forward动作自动(服务器端)请求属性(仅在同一个请求内有效)request.getRequestDispatcher("target.jsp").forward(request, response);
SendRedirect自动(客户端重定向)URL参数 或 Session/sessionStorage等response.sendRedirect("targetPage.jsp")
RequestDispatcher自动(服务器端)请求属性(forward())或直接包含内容(include()getServletContext().getRequestDispatcher("/target").include(request, response);

八、JSP的标签

1. <%@ page %>:定义页面相关的属性
<%@ page 
    language="java" 
    contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"
    import="java.util.*, com.example.*"
%>
2. <%@ include %>:静态包含其他文件的内容
<%@ include file="path/to/file.jsp" %>
3. <jsp:include>:动态地包含另一个资源
<jsp:include page="path/to/file.jsp">
    <jsp:param name="paramName" value="paramValue"/>
</jsp:include>
4. <jsp:forward>:转发请求到另一个资源
<jsp:forward page="path/to/resource.jsp">
    <jsp:param name="paramName" value="paramValue"/>
</jsp:forward>
5. <jsp:param>:传递参数给<jsp:include><jsp:forward>
<jsp:param name="paramName" value="paramValue"/>
6. <jsp:useBean>:查找或实例化一个JavaBean
7. <jsp:setProperty>:设置JavaBean的属性值
8. <jsp:getProperty>:获取JavaBean的属性值
<body>
    <jsp:useBean id="user" class="com.example.User" scope="request"/>
    <jsp:setProperty name="user" property="name" value="John Doe"/>
    <jsp:setProperty name="user" property="age" value="30"/>
​
    <h1>User Information</h1>
    <p>Name: <jsp:getProperty name="user" property="name"/></p>
    <p>Age: <jsp:getProperty name="user" property="age"/></p>
</body>

九、过滤器(Filter)

作用:用于对客户端请求和服务器响应进行预处理或后处理(比如可以省掉每个Servlet的字符编码设置)

XML配置:同Servlet

<filter>

<filter-name>myFilter</filter-name>

<filter-class>com.example.MyFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>myFilter</filter-name>

<url-pattern>/*</url-pattern>

使用通配符*,匹配所有的请求

</filter-mapping>

需要重写三个最重要的 方法

十、监听器(Listener)

作用:ServletContextListener监听容器启动和销毁,还可以监听会话或者请求只要实现不同接口

  • ServletContextListener:监听Web应用的启动(contextInitialized)和关闭(contextDestroyed)事件。

  • HttpSessionListener:监听HttpSession的创建(sessionCreated)和销毁(sessionDestroyed)事件。

  • ServletRequestListener:监听ServletRequest的创建(requestInitialized)和销毁(requestDestroyed)事件。

  • HttpSessionAttributeListener:监听HttpSession中属性的添加、移除或替换事件。

  • ServletContextAttributeListener:监听ServletContext中属性的添加、移除或替换事件。

实现相关接口:重写一些用到的方法

xml配置

<listener>

<listener-class>com.example.MyContextListener</listener-class>

</listener>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值