发表于: 2020-06-30 09:19:11

2 1849


这是2020.6.29的日报

今天完成的事情:

跟着网上教程敲了一个ssm小demo(非RESTful风格)。

项目目录

controller

@Controller
@RequestMapping("/user")
public class UserController {

@Resource
   private IUserService userServiceImpl;


   @RequestMapping("/crud")
public String crud(){
return "page/user_crud";
   }

@RequestMapping("/add")
public String add(HttpServletRequest request, User user){
this.userServiceImpl.add(user);
       request.setAttribute("result", "添加用户成功!");
       return "page/success";
   }

@RequestMapping("/deleteById")
public String deleteById(HttpServletRequest request, String id){
this.userServiceImpl.deleteById(id);
       request.setAttribute("result", "删除用户成功");
       return "page/success";
   }

@RequestMapping("/update")
public String update(HttpServletRequest request,User user){
this.userServiceImpl.update(user);
       request.setAttribute("result", "修改用户成功");
       return "page/success";
   }

@RequestMapping("/findById")
@ResponseBody
   public String findById(HttpServletRequest request, HttpServletResponse response, String id) throws IOException {
User user = this.userServiceImpl.findById(id);
       return JSONObject.fromObject(user).toString();
   }

@RequestMapping("/findAll")
@ResponseBody
   public String findAll(HttpServletRequest request){
List<User> userList = this.userServiceImpl.findAll();
       return JSONArray.fromObject(userList).toString();
   }
}

springMVC.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:context="http://www.springframework.org/schema/context"
      xmlns:mvc="http://www.springframework.org/schema/mvc"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">


   <!-- 1、负责扫描(Controller)带有注解的组件,并注册在spring容器中 -->
   <context:component-scan base-package="com.base"/>


   <!-- 2、视图解析器,将 handler(Controller)方法返回值 解析为 实际的物理视图 后再返回给前置控制器 -->
   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="prefix" value="/WEB-INF/"/>
       <property name="suffix" value=".jsp"/>
       <property name="contentType" value="text/html;charset=utf-8"/>
   </bean>


   <!-- 3Spring MVC 有三大组件:处理器映射器(HandlerMapping)、处理器适配器(HandlerAdapter)、视图解析器(ViewResolver) -->
   <!-- 其中的 处理映射器 和 和 处理适配器 可以通过配置 注解驱动 来代替,如下:-->
   <mvc:annotation-driven></mvc:annotation-driven>


   <!-- 4、对静态资源的访问 -->
   <mvc:resources mapping="/**" location="/" />    <!-- 此时访问的是webapp根目录下的 除  WEB-INF(安全目录) 之外  的所有静态资源文件 -->


   <!-- 5、自定义拦截器 -->
   <!--
       /** 的意思是所有文件夹及里面的子文件夹
       /* 是所有文件夹,不含子文件夹
       / web项目的根目录
   -->
   <mvc:interceptors>
       <mvc:interceptor>
           <mvc:mapping path="/**"/>                       <!-- 此处表示要拦截的请求:所有请求 -->
           <mvc:exclude-mapping path="/user/crud"/>        <!-- 此处表示需要排除拦截的地址:/user/crud -->
           <bean id="MyInterceptor" class="com.plat.interceptor.MyInterceptor"/>       <!-- 这个类就是自定义的拦截器类 -->
       </mvc:interceptor>
   </mvc:interceptors>
</beans>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
        version="4.0">


   <!-- 1、配置DispatcherServlet(前置控制器),这是配置 spring MVC 的第一步 -->
   <!-- 负责拦截 匹配规则的请求,对拦截下来的请求依据相应的规则分发到目标Controller处理 -->
   <servlet>
       <servlet-name>springDispatcherServlet</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>classpath:spring_mvc.xml</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
       <servlet-name>springDispatcherServlet</servlet-name>
       <url-pattern>/</url-pattern>        <!-- 匹配此处规则的请求都将被 名为 springDispatcherServlet 的前置控制器处理,由前置控制器负责调度工作 -->
   </servlet-mapping>


   <!-- 不拦截某些文件(除了在 spring_mvc.xml配置文件 通过设置 <mvc:resources mapping="/**" location="/" /> 实现对静态资源的访问,也可在 web.xml 设置 不拦截 满足某些规则的文件 来实现对静态资源的访问,如下: ) -->
   <servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>/common/*</url-pattern>
   </servlet-mapping>
   

   <!-- 2、配置spring的核心配置文件(告知核心配置文件所在位置),才能成功启动spring容器 -->
   <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:applicationContext.xml</param-value>
   </context-param>

   <!-- 3、使用监听器启动spring -->
   <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>


   <!-- 4、添加过滤器,解决中文乱码问题 -->
   <filter>
       <filter-name>Spring character encoding filter</filter-name>
       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
       <init-param>
           <param-name>encoding</param-name>
           <param-value>UTF-8</param-value>
       </init-param>
       <init-param>
           <param-name>forceEncoding</param-name>
           <param-value>true</param-value>
       </init-param>
   </filter>
   <filter-mapping>
       <filter-name>Spring character encoding filter</filter-name>
       <url-pattern>/*</url-pattern>
   </filter-mapping>
   

   <welcome-file-list>
       <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
</web-app>

使用jetty插件运行

 

明天计划的事情:

把springmvc关于restful风格的注解好好理解一遍。

把springmvc的代码执行流程好好捋一捋。
遇到的问题:还不是太理解spirngmvc的代码执行流程。

收获:了解了ssm基本的整合步骤。


返回列表 返回列表
评论

    分享到