当前位置: 首页> 科技> 数码 > 企业名录搜索软件带名字_做app要多少钱_百度浏览器官网下载_昆明长尾词seo怎么优化

企业名录搜索软件带名字_做app要多少钱_百度浏览器官网下载_昆明长尾词seo怎么优化

时间:2025/7/9 11:56:31来源:https://blog.csdn.net/weixin_62008675/article/details/144267485 浏览次数:0次
企业名录搜索软件带名字_做app要多少钱_百度浏览器官网下载_昆明长尾词seo怎么优化

文章目录

  • SpringMVC
    • 1. 工作原理
    • 2.使用
    • 3. 常用注解
    • 4. 转发与重定向
    • 5. REST风格
    • 6. SSM整合

SpringMVC

1. 工作原理

在这里插入图片描述

SpringMVC 框架的优点

优点:

  1. 基于 MVC 架构,功能分工明确。解耦合。
  2. 容易理解,上手快;使用简单。就可以开发一个注解的 SpringMVC 项目,SpringMVC 也是轻量级的,jar 很小。不依赖的特定的接口和类。
  3. 作为 Spring 框架一部分,能够使用 Spring 的 IoC 和 Aop。方便整合Strtus,MyBatis,Hiberate, JPA 等其他框架。
  4. SpringMVC 强化注解的使用,在控制器,Service,Dao 都可以使用注解。方便灵活。使用@Controller 创建处理器对象,@Service 创建业务对象,@Autowired 或者@Resource 在控制器类中注入 Service, Service 类中注入Dao。

2.使用

引入jar文件

<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version>
</dependency>
<!--引入json-->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.4.3</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.4.3</version>
</dependency>

创建spring-mvc.xml

xmlns:mvc="http://www.springframework.org/schema/mvc"
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
<!--扫描包-->
<context:component-scan base-package="com.hz.controller"/>
<!--开启mvc注解-->
<mvc:annotation-driven/>
<!--释放静态资源 html,图片,js文件-->
<mvc:default-servlet-handler/>

创建controller层

@Controller
public class UserController {}

在web.xml中配置前端控制器并读取spring-mvc.xml

<servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-*.xml</param-value></init-param><load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern>
</servlet-mapping>

在controller中编写多个servlet请求

@RequestMapping(value = "/userLogin",method = RequestMethod.POST)
public ModelAndView userLogin(@RequestParam(value = "uname",defaultValue = "瑶瑶") String uname,@RequestParam(value = "upwd",defaultValue = "123")String upwd)
{ModelAndView modelAndView= new ModelAndView();modelAndView.getModel().put("uname",uname);modelAndView.getModel().put("upwd",upwd);modelAndView.setViewName("/views/main.jsp");return modelAndView;
}@RequestMapping(value = "/loginUser1",method = RequestMethod.POST)
public String  loginUser1(User user ,Model model){model.addAttribute("uname",user.getUsername());model.addAttribute("upwd",user.getPassword());return "/views/main.jsp";}@RequestMapping(value = "/loginUser4",method = RequestMethod.POST)public String loginUser4(Map<String,Object> map,User user){map.put("uname",user.getUsername());map.put("upwd",user.getPassword());return "/views/main.jsp";
}

创建视图解析器

<!--//视图渲染器 (简化页面路径) return "页面名字"--> 
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/views/"/><property name="suffix" value=".jsp"/>
</bean>

设置编码过滤器

<filter><filter-name>CharacterEncodingFilter</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>
</filter>
<filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

3. 常用注解

@Controller标注一个普通的JavaBean成为可以处理请求的控制器

@RequestMapping通过请求URL进行映射

@RequestMapping("/user")//标识在类上
public class UserController {@Autowiredprivate UserService userService;@RequestMapping(value = "/userLogin",method = RequestMethod.POST) //方法上public String userLogin(String uname, String upwd,  HttpSession session){...}

method:

RequestMethod.GET 必须以GET方式进入 @GetMapping

RequestMethod.POST 必须以POST方式进入 @PostMapping

params:

{ “param1=value1” , “param2” , “!param3” }

请求参数的映射条件,指定请求的URL地址需要带那些参数

@RequestParam参数传递

public ModelAndView index(@RequestParam(value = "uname",required = false,defaultValue = "zhangsan") String uname){}
//value:属性名,如:xxxx?name1=...
//required:是否必须 false为否
//defaultValue:默认值

@ModelAttribute

@RequestMapping(value="/ts1")
public String index1(@ModelAttribute("user") User user){user.setUser_name("张三");System.out.println(user.getUser_name());return "user";
}

@SessionAttributes

//只能定义到类上,作用是将指定的Model中的键值对添加到session中
//@SessionAttributes(value = {"aa","bb"})
//根据类型存储只要是String
//@SessionAttributes(types= String.class)
//根据User类型存储属性
//@SessionAttributes(types=User.class)
@SessionAttributes(types={User.class},value = {"aa","bb"})
@Controller
public class orderController {...
}

@ResponseBody

@ResponseBody //返回JSON数据 一般用于方法上
@RequestMapping("/loginUser1")
public MassageJson<User> loginUser1(){User user=new User();user.setUsername("张三");user.setPassword("123456");return new MessageJson<>("200","请求成功",user);
}
对象中添加:实体类实现序列化
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
表示属性为null不返回

@RestController

标注该类中所有的方法都返回JSON 用于类中。无须在写@Controller

@DateTimeFormat

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
//用户对象属性,控制入参时日期类型转换
private Date user_login_endtime;

@RequestHeader 获取请求头中的参数

@ResponseBody
@RequestMapping(value = "/index",method = RequestMethod.POST)
public User index(@RequestHeader(value = "token",defaultValue = "1",required =
false) int tokenid){
......
}

@JsonFormat 返回JSON数据时日期类型处理

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date user_login_endtime;

参数传递

ModelAndView

@RequestMapping(value = "/show",method = RequestMethod.GET)
public ModelAndView show(){ModelAndView  modelAndView=new ModelAndView("main.jsp","username","血量会");return modelAndView;
}

Model

@RequestMapping(value = "/loginUser1",method = RequestMethod.POST)
public String  loginUser1(User user ,Model model){//以Map方式进行存储,用于向作用域中存值model.addAttribute("aa",user.getUsername());model.addAttribute("bb",user.getPassword());return "main.jsp";
}

Map

@RequestMapping(value = "/loginUser4",method = RequestMethod.POST)public String loginUser4(Map<String,Object> map,User user){//以Map方式进行存储,用于向作用域中存值map.put("aa",user.getUsername());map.put("bb",user.getPassword());return "/main.jsp";
}

4. 转发与重定向

@RequestMapping(value = "/addUser",method = RequestMethod.POST)public String addUser(User user){int i=userService.addUser(user);if(i==1){//转发 return "forward:页面";return "/index.jsp";}else{//重定向return "redirect:/addUser.jsp";}}

5. REST风格

@RequestMapping(value="/ts1/{user_id}.html")
public String index1(@PathVariable("user_id") Long user_id)
{
System.out.println("id======"+user_id);
return "user";
}
请求路径为:.../ts1/参数.html
如:..../ts1/1.html或..../ts1/10.html

6. SSM整合

引入jar文件

 <dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version>
</dependency>
<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version>
</dependency>
<!--引入json-->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.4.3</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.4.3</version>
</dependency>

创建controller类

@Controller 标识此类为控制器类
@RequestMapping 设置请求路径
@RequestParam 接收用户传入参数

关键字:企业名录搜索软件带名字_做app要多少钱_百度浏览器官网下载_昆明长尾词seo怎么优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: