springmvc笔记(一)

来源:互联网 发布:微信秒抢红包软件苹果 编辑:程序博客网 时间:2024/06/03 18:26

MVC的思想是业务数据抽取同业务数据呈现分离。

View是视图层,重点关注数据的呈现。

Model 模型层,业务数据的信息表示,关注支撑业务信息的构成,通常是多个业务实体的组合。

Controller 控制层,调用业务逻辑产生合适的数据。同时传递数据给视图层用于呈现。

 

Springmvc提供了线程的实现,调用即可。

DispatcherServelet是前端控制器

 

HandlerAdapter相当于controller,DispatcherServelet调用各种HandlerAdapter来实现任务分发给相关的业务逻辑

 

HandlerInterceptor是一个接口,可以用来在Handler调用之前,之后,以及view呈现后可以做很多事情

 

HandlerMapping是负责确定DispatcherServelet与controller之间映射的类,告诉DispatcherServelet,在请求到来后,由哪个controller来响应这个请求




Springmvc+hibernate+spring数据绑定笔记

(1) 首先配置好jar包,放到lib下边。(注意:导出文件的时候类库是没有导出来的,因此建议把jar包添加好)。


(1) 写好配置文件。

springmvc-servlet.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd

        http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.1.xsd

       http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">                   

 

  <!-- 激活标签,生命周期的管理-->

   <context:annotation-config/>

   <!-- dispatcherServlet去在这里搜索com.hmy.ssh.Controller包下边的东西控制器和请求联系-->

   <context:component-scanbase-package="com.hmy.ssh.controller"/>

   <mvc:default-servlet-handler/>

  

 <!-- 自动扫描 -->

   <context:component-scanbase-package="com.hmy.ssh.service"></context:component-scan>

   <context:component-scanbase-package="com.hmy.ssh.dao"></context:component-scan>

 <context:component-scanbase-package="com.hmy.ssh.bean"></context:component-scan>

   <!-- 不处理这个cONTRoller

   <context:exclude-filter type="annotation"expression="org.springframework.Controller"/>

     -->

   <!-- 默认的注解映射的支持,扩充了注解驱动-->

   <mvc:annotation-driven/>

   <!-- 视图解释类configure the InternalResourceViewResolver,告诉用哪个viewresolver获取view -->

   <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"

           id="internalResourceViewResolver">

        <!-- 前缀 ,jsp文件在当前根目录下。可指定路径-->

        <propertyname="prefix"value="/"/>

        <!-- 后缀 -->

        <propertyname="suffix"value=".jsp"/><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑  -->

   </bean> 

   <!-- 可能这个标签的真谛就是为了引用资源的访问不会类似CONTROLLER一样被拦截,区分出关注的资源的访问,

   一般我们在springMVC里面的拦截都会配置为"/",拦截所有的。  -->

    <mvc:resourceslocation="/images/"mapping="/images/**"/> 

    <mvc:resourceslocation="/js/"mapping="/js/**"/>

    <mvc:resourceslocation="/css/"mapping="/css/**"/>

    <mvc:resourceslocation="/data/"mapping="/data/**"/> 

    

   <!-- 注解驱动,避免乱码 -->

   <mvc:annotation-driven>

      <mvc:message-converters>

            <beanclass="org.springframework.http.converter.StringHttpMessageConverter">

                <constructor-argvalue="UTF-8"/>

            </bean>

        </mvc:message-converters>

   </mvc:annotation-driven>

  

   <!--  -->

   <!-- 文件上传解析器 -->

   <beanid="multipartResolver"

      class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

      <!-- 支持的最大文件大小,以字节为单位 -->

      <propertyname="maxUploadSize"value="6291456"/> <!-- 6M -->

   </bean>

</beans>

 

<!-- 拦截器 --> 

<!--

  <mvc:interceptors> 

   <bean class="com.hmy.ssh.MyInteceptor" /> 

</mvc:interceptors>   -->

 

(2) 写好web配置,添加以下代码:

 

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"

   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_2_5.xsd">

 <welcome-file-list>

   <welcome-file>index.jsp</welcome-file>

 </welcome-file-list>

 <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:springmvc-servlet.xml</param-value>

        </init-param>

        <!-- <load-on-startup>1</load-on-startup> -->

 </servlet>

 <servlet-mapping>

     <servlet-name>springmvc</servlet-name>

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

 </servlet-mapping>

</web-app>

 

(3) 写好hibernate,以及实体类Users.

package com.hmy.ssh.bean;

import java.util.HashSet;

import java.util.Set;

/**

 * User entity.@author MyEclipse Persistence Tools

 */

public class User implements java.io.Serializable {

 

       // Fields

       privateString userName;

       privateInteger userid;

       privateString userPwd;

       privateString userEmail;

       privateString userPhone;

       privateString userType;

       privateString trueName;

       privateInteger authority;

       privateSet homeWorks = new HashSet(0);

       privateSet comments = new HashSet(0);

       privateSet statisticses = new HashSet(0);

 

       //Constructors

 

       /**default constructor */

       publicUser() {

       }

 

       /**minimal constructor */

       publicUser(String userName, String userPwd, String userEmail,

                     StringuserPhone, String trueName) {

              this.userName= userName;

              this.userPwd= userPwd;

              this.userEmail= userEmail;

              this.userPhone= userPhone;

              this.trueName= trueName;

       }

 

       /** fullconstructor */

       publicUser(String userName, Integer userid, String userPwd,

                     StringuserEmail, String userPhone, String userType,

                     StringtrueName, Integer authority, Set homeWorks, Set comments,

                     Setstatisticses) {

              this.userName= userName;

              this.userid= userid;

              this.userPwd= userPwd;

              this.userEmail= userEmail;

              this.userPhone= userPhone;

              this.userType= userType;

              this.trueName= trueName;

              this.authority= authority;

              this.homeWorks= homeWorks;

              this.comments= comments;

              this.statisticses= statisticses;

       }

 

       //Property accessors

 

       publicString getUserName() {

              returnthis.userName;

       }

 

       publicvoid setUserName(String userName) {

              this.userName= userName;

       }

 

       publicInteger getUserid() {

              returnthis.userid;

       }

 

       publicvoid setUserid(Integer userid) {

              this.userid= userid;

       }

 

       publicString getUserPwd() {

              returnthis.userPwd;

       }

 

       publicvoid setUserPwd(String userPwd) {

              this.userPwd= userPwd;

       }

 

       publicString getUserEmail() {

              returnthis.userEmail;

       }

 

       publicvoid setUserEmail(String userEmail) {

              this.userEmail= userEmail;

       }

 

       publicString getUserPhone() {

              returnthis.userPhone;

       }

 

       publicvoid setUserPhone(String userPhone) {

              this.userPhone= userPhone;

       }

 

       publicString getUserType() {

              returnthis.userType;

       }

 

       publicvoid setUserType(String userType) {

              this.userType= userType;

       }

 

       publicString getTrueName() {

              returnthis.trueName;

       }

 

       publicvoid setTrueName(String trueName) {

              this.trueName= trueName;

       }

 

       publicInteger getAuthority() {

              returnthis.authority;

       }

 

       publicvoid setAuthority(Integer authority) {

              this.authority= authority;

       }

 

       public SetgetHomeWorks() {

              returnthis.homeWorks;

       }

 

       publicvoid setHomeWorks(Set homeWorks) {

              this.homeWorks= homeWorks;

       }

 

       public SetgetComments() {

              returnthis.comments;

       }

 

       publicvoid setComments(Set comments) {

              this.comments= comments;

       }

 

       public SetgetStatisticses() {

              returnthis.statisticses;

       }

 

       publicvoid setStatisticses(Set statisticses) {

              this.statisticses= statisticses;

       }

 

       @Override

       publicString toString() {

              return"User [authority=" + authority + ", comments=" + comments

                            +", homeWorks=" + homeWorks + ", statisticses=" +statisticses

                            +", trueName=" + trueName + ", userEmail=" + userEmail

                            +", userName=" + userName + ", userPhone=" + userPhone

                            + ", userPwd=" +userPwd + ", userType=" + userType

                            +", userid=" + userid + "]";

       }

 

}

 

(4)    写好dao层和业务逻辑层,此处省去一部分。

(5)写好controller层,并调用业务逻辑层的方法查询

package com.hmy.ssh.controller;

import java.util.ArrayList;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Controller;

importorg.springframework.web.bind.annotation.ModelAttribute;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RequestParam;

importorg.springframework.web.bind.annotation.ResponseBody;

 

 

import com.hmy.ssh.bean.User;

importcom.hmy.ssh.controller.UserForm.UserListForm;

import com.hmy.ssh.dao.daoImpl.*;

import com.hmy.ssh.service.UserService;

importcom.hmy.ssh.service.serviceImpl.UserServiceImpl;

 

@Controller

public class UserController {

   @Autowired

   privateUserService userService;

  

   //------------查询模块-----------------

 

  

   //http://localhost:8888/CourseOnline/selectOneUseByAuthority?authority=1  ,更改用户权限

   @ResponseBody

   @RequestMapping("/selectOneUseByAuthority")

   public  List<User>selectOneUseByAuthority(@RequestParam("authority") String authority){

          //1.根据权限,查询正在考试的用户

          System.out.println("权限:"+authority);

          Integerauthority1=Integer.parseInt(authority);

      List<User>user=userService.selectOneUseByAuthority(authority1);

          System.out.println(user);

          returnuser;//单个用户的信息

   }

@ResponseBody

//这里是返回给前端json,必须导入jasonjar

   @RequestMapping("/test")

   //测试类

   public String test(){

      //UserService userService1 = new UserServiceImpl();

      List<User>userList = userService.selectUsers();

      System.out.println(userList.size());

      return "success";

}

}

运行成功。打开网址


1 0