2018秋web培训日志0928

上午:

AOP编程:
通知类、目标类、增强代码、织入过程、连接点(切入点)
前置通知、后置通知、最终通知、异常通知
利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,
提高程序的可重用性,同时提高了开发的效率。
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。
注解实现AOP编程:
在目标类之前:
@Component(“对象名”)创建对象,用于调用方法
在通知类前:
@Component(“对象名”)创建对象,用于调用方法
@Aspect:表明该类的对象是通知对象
在对应函数前:
@Before(value=“excution(* 切入点路径)”):前置通知
后三个after、afterreturn、after...类似
配置文件中扫描注解:
<context:component-scan base-package="通知类路径"/>
注解生效标签:<aop:sapectj-autoproxy>
框架:springMVC
1)spring子框架
2)使用MVC设计模式实现web层(jsp,servlet)的开发
3)MVC设计模式:实现分层开发
4)M:MODEL V:VIEW C:CONTROLLER
5)分层开发:
controller:servlet(接收用户请求,分发请求)--->service(处理业务逻辑)--->dao(数据库操作)--响应-->controller(调用视图)---->view(显示结果)
6)设计原理:
-(用户请求)->前端控制器(分发请求DispatchServlet)-->后端处理器映射器(寻找后端处理器HandlerMapping)--返回寻找到的后端处理器-->前端控制器-->后端处理器适配器(HandlerAdapter)----调用---->后端处理器(在服务端处理用户请求Controller)---处理结果(包括数据、视图)返回--->后端处理器适配器----返回处理结果---->前端控制器---处理结果--->视图解析器(把数据渲染到视图上)----返回视图--->前端控制器------>响应给用户

下午:

代码实现:

1)导入jar包

2)配置前端控制器:(web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_4_0.xsd"
           version="4.0">
<!--配置springMVC前端控制器-->
    <!--使用前端控制器的时候会加载SpringMVC的配置文件
    默认寻找的位置:/WEB-INF/servlet的名字-servlet.xml
    也可以自己指定位置-->
<servlet>
    <servlet-name>springMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:mvccfg.xml</param-value>
    </init-param>
</servlet>
    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/</url-pattern>
        <!--配置前端控制器拦截所有请求-->
    </servlet-mapping>
</web-app>

3)springMVC配置文件(mvccfg.xml):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:util="http://www.springframework.org/schema/util" xmlns:aop="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
    <!--配置映射器-->
    <!--BeanNameUrlHandlerMapping:如果请求的路径跟处理器对象的名字一样,则映射成功-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!--配置处理器适配器-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!--处理器(需要自己写)-->
    <!--id名必须和请求路径一样-->
    <bean id="/user" class="com.hyx.handler.MyHandler"/>
    <!--配置视图解析器-->
    <!--需要配置响应页面的位置-->
    <!--需要配置响应页面的位置
    prefix:/WEB-INF/JSP/
    suffix:.JSP
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/JSP/"/>
        <property name="suffix" value=".JSP"/>
    </bean>
</beans>

4)处理器类(有错误,小心)

package com.hyx.handler;

import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.annotation.Annotation;

public class MyHandler implements Controller {
    @Override
    public ModelAndView handlereRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
        throws Exception{
        //调用service完成业务逻辑处理,dao完成数据库操作
        //存储处理器返回的数据和视图
        ModelAndView mv=new ModelAndView();
        //存数据
        mv.addObject("RESULT","tom");
        mv.setViewName("result");
        return mv;
    }
}

5)入口

<%-- Created by IntelliJ IDEA. --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title></title>
  </head>
  <body>
<a href="/user">请求数据</a>
  <%--用户请求--%>
  </body>
</html>

6)响应页面

<%--
  Created by IntelliJ IDEA.
  User: Administrater
  Date: 2018/9/28
  Time: 15:32
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>查询结果</title>
</head>
<body>
查询结果:${RESULT}
</body>
</html>

 

 


 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值