当前位置: 首页 > news >正文

高水平的网站建设公司网站建设工程师职责

高水平的网站建设公司,网站建设工程师职责,黄冈论坛遗爱网,做图网站地图目录 一、创建项目,pom文件 二、web.xml 三、spring-mvc.xml 四、index.jsp 五、实体类 Address类 User类 六、UserController类 七、请求参数解决中文乱码 八、配置tomcat,然后启动tomcat 1. 2. 3. 4. 九、接收Map类型 1.直接接收Map类型 &#x…

目录

一、创建项目,pom文件

二、web.xml

三、spring-mvc.xml

四、index.jsp

五、实体类

Address类

User类

六、UserController类

七、请求参数解决中文乱码

八、配置tomcat,然后启动tomcat

1.

2.

3.

4.

九、接收Map类型

1.直接接收Map类型

(1)Get请求

第一种情况,什么注解也没有

第二种情况:传个值

第三种情况:声明是get请求

第四种情况:加@RequestParam

(2)post请求:

第一种情况:什么注解也没有

前端页面:加一个表单

第二种情况:声明是post请求

第三种情况:加上@RequestParam注解

表单和controller类中的方法改改(加个username)

第四种情况:加@RequestBody注解

2.用对象接收map

(1)User类里加一个map

(2)前端:

(3)运行:

十、在控制器中使用原生的ServletAPI对象 


一、创建项目,pom文件

​
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.qcby</groupId><artifactId>springMVC12</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring.version>5.0.2.RELEASE</spring.version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency></dependencies></project>​

二、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"><!--前端控制器--><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-mvc.xml</param-value></init-param><!--配置启动加载--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>​

三、spring-mvc.xml

​
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 配置spring创建容器时要扫描的包 --><context:component-scan base-package="com.qcby.controller"></context:component-scan><!-- 配置视图解析器 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages/"></property><property name="suffix" value=".jsp"></property></bean><!-- 配置spring开启注解mvc的支持--><!--    <mvc:annotation-driven></mvc:annotation-driven>--></beans>​

四、index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>请求参数绑定</title></head><body><form action="user/save1.do" method="post">姓名:<input type="text" name="username" /><br/>年龄:<input type="text" name="age" /><br/><input type="submit" value="提交" /></form><h3>请求参数绑定(封装到实体类)</h3><form action="user/save2.do" method="post">姓名:<input type="text" name="username" /><br/>年龄:<input type="text" name="age" /><br/><input type="submit" value="提交" /></form><h3>请求参数绑定(封装到实体类)</h3><form action="user/save3.do" method="post">姓名:<input type="text" name="username" /><br/>年龄:<input type="text" name="age" /><br/>金额:<input type="text" name="address.money" /><br/><input type="submit" value="提交" /></form><h3>请求参数绑定(封装到实体类,存在list集合)</h3><form action="user/save4.do" method="post">姓名:<input type="text" name="username" /><br/>年龄:<input type="text" name="age" /><br/>金额:<input type="text" name="address.money" /><br/>集合:<input type="text" name="list[0].money" /><br/>集合:<input type="text" name="list[1].money" /><br/><input type="submit" value="提交" /></form></body></html>

五、实体类

Address类

import java.io.Serializable;public class Address implements Serializable {private Double money;public Double getMoney() {return money;}public void setMoney(Double money) {this.money = money;}@Overridepublic String toString() {return "Address{" +"money=" + money +'}';}}

User类

import java.io.Serializable;import java.util.List;public class User implements Serializable {private String username;private Integer age;// 引用对象private Address address;// list集合private List<Address> list;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}public List<Address> getList() {return list;}public void setList(List<Address> list) {this.list = list;}@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", age=" + age +", address=" + address +", list=" + list +'}';}}

六、UserController类

import com.qcby.pojo.User;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controller@RequestMapping("/user")public class UserController {@RequestMapping("/save1.do")public String save(String username,Integer age){System.out.println("姓名:"+username);System.out.println("年龄:"+age);return "success";}@RequestMapping("/save2.do")public String save2(User user){System.out.println("user对象:"+user);return "success";}@RequestMapping("/save3.do")public String save3(User user){System.out.println("user对象:"+user);return "success";}@RequestMapping("/save4.do")public String save4(User user){System.out.println("user对象:"+user);return "success";}}

七、请求参数解决中文乱码

在web.xml中配置Spring提供的过滤器

​
<!-- 配置过滤器,解决中文乱码的问题 --><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>现在的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"><!-- 配置过滤器,解决中文乱码的问题 --><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><!--前端控制器--><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-mvc.xml</param-value></init-param><!--配置启动加载--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>​

八、配置tomcat,然后启动tomcat

1.

2.

3.

4.

九、接收Map类型

1.直接接收Map类型

如果想直接接收前端传过来的map参数,应该使用两个注解(RequestBody或RequestParam;RequestParam--get和post请求都可以,RequestBody只能post请求,底层封装都是LinkedHashMap)

(1)Get请求

第一种情况,什么注解也没有

UserController类里加一个方法

@RequestMapping("/mapSave1.do")public String mapSave1(Map<String, Objects> map){System.out.println("map:"+map);return "success";}

没有JSP页面,启动tomcat

控制台:什么输出也没有,没有值

第二种情况:传个值

控制台:还是什么都没有

第三种情况:声明是get请求

UserController类的mapSave1()方法:

@RequestMapping(value = "/mapSave1.do",method = RequestMethod.GET)public String mapSave1(Map<String, Objects> map){System.out.println("map:"+map);return "success";}

再启动:

控制台:还是没有值

所以跟请求是什么没关系,要想接收就要加注解

第四种情况:加@RequestParam
@RequestMapping(value = "/mapSave1.do")public String mapSave1(@RequestParam Map<String, Objects> map){System.out.println("map:"+map);return "success";}

再运行:

所以,我传递一个map在后端接收,用get请求必须加@RequestParam注解

(2)post请求:

第一种情况:什么注解也没有
@RequestMapping(value = "/mapSave2.do")public String mapSave1(Map<String, Objects> map){System.out.println("map:"+map);return "success";}
前端页面:加一个表单
<h3>请求参数的绑定--map集合</h3><form action="user/mapSave2.do" method="post">map集合key:<input type="text" name="map.key" /><br/>map集合value:<input type="text" name="map.value" /><br/><input type="submit" value="提交" /></form>

运行

点提交

控制台:什么也没有

第二种情况:声明是post请求
@RequestMapping(value = "/mapSave2.do",method = RequestMethod.POST)public String mapSave2(Map<String, Objects> map){System.out.println("map:"+map);return "success";}

再运行:

点提交

控制台:

说明跟get的一样,不加注解是没有办法接收到的

第三种情况:加上@RequestParam注解
@RequestMapping(value = "/mapSave2.do",method = RequestMethod.POST)public String mapSave2(@RequestParam Map<String, Objects> map){System.out.println("map:"+map);return "success";}

运行:

点提交

控制台:

可以看出,get请求和post请求都可以用@RequestParam注解

表单和controller类中的方法改改(加个username)

表单:

<h3>请求参数的绑定--map集合</h3><form action="user/mapSave2.do" method="post">username:<input type="text" name="username"><br/>map集合:<input type="text" name="test1"><br/><%-- test1就是map的key,输入框中的就是map的value --%><input type="submit" value="提交" /></form>

方法:

@RequestMapping(value = "/mapSave2.do")public String mapSave2(@RequestParam Map<String, Objects> map,String username){System.out.println("map:"+map);System.out.println("username:"+username);return "success";}

运行:

点提交:

控制台:

可以看到:表单中的数据都被封装到了map集合中

第四种情况:加@RequestBody注解

但是这样的话,它只能接收json数据

现在用表单接收就会报错:

@RequestMapping(value = "/mapSave2.do")public String mapSave2(@RequestBody Map<String, Objects> map, String username){System.out.println("map:"+map);System.out.println("username:"+username);return "success";}

运行:

点提交:(报错)

总结:无注解时,什么都接收不了;@RequestParam注解时,将参数包装成LinkedHashMap对象,参数的key是Map的key,参数的值是Map的value,get和

post请求都支持;@RequestBody注解接收json类型的数据(跟表单不一样,表单传不了),也会包装成LinkedHashMap对象,该注解不支持get请求,get请求没有请求体,不能传json

2.用对象接收map

(1)User类里加一个map

private Map<String,Address> userMap;

(2)前端:

<h3>请求参数绑定(封装到实体类,存在map集合)</h3><form action="user/save5.do" method="post">姓名:<input type="text" name="username" /><br/>年龄:<input type="text" name="age" /><br/>金额:<input type="text" name="address.money" /><br/>Map集合:<input type="text" name="userMap['one'].money" /><br/>Map集合:<input type="text" name="userMap['two'].money" /><br/><input type="submit" value="提交" /></form>

(3)运行:

点提交:

控制台:

十、在控制器中使用原生的ServletAPI对象 

只需要在控制器的方法参数定义HttpServletRequest和HttpServletResponse对象

UserController里加:

/*原生的API*/
@RequestMapping("/save6.do")
public String save6(HttpServletRequest request, HttpServletResponse response){System.out.println(request);// 获取到HttpSession对象HttpSession session = request.getSession();System.out.println(session);System.out.println(response);return "success";
}

运行:

控制台:

 

http://www.yayakq.cn/news/649626/

相关文章:

  • 域名申请成功后怎么做网站乐都企业网站建设
  • 长清做网站wordpress是软件不
  • 深圳外贸网站制作价格珠海网站建设培训
  • 大型网站开发框架有哪些做网站友汇网
  • 建一个单页网站做网站 是不是懂ps
  • 黄金网站软件免费什么是网络营销美好小火锅的线上推广平台有哪些
  • 做的电影网站很卡百度官方官网
  • 意大利语网站建设汇云网站建设
  • 淘宝客高佣金网站建设代驾app软件开发
  • 呼市推广网站住建部历史文化街区和历史建筑信息平台
  • 沧州网站设计公司价格太原公司网站建立
  • 桦甸网站建设莆田哪里有学做网站的
  • 网站后台不能上传dw制作模板
  • 用wordpress建站会不会显得水平差cms门户网站模板下载
  • 农业建设项目管理信息系统网站wordpress 静态 弊端
  • 个人网站可以做淘宝店铺名无锡网站制作网站
  • 网站服务器和网站备案吗免费招收手游代理内服号
  • 百度开户代理公司关键词优化排名哪家好
  • 谁做网站收录有没有可以做各种字体的网站
  • 衡水做企业网站的公司西安房产网58
  • 建筑工程网站建设网站开发需要什么基础只是
  • 做茶叶网站的目的和规划江门做网站软件
  • 郑州品牌创意网站建设免费网站建设 源代码
  • 不侵权的图片素材网站网站怎么搬家到快云vps里面去啊
  • 福州公司建站企业网址
  • 自己做的网站怎么打开无锡网站建设企业
  • 专做美妆的网站海东网站建设公司
  • 长尾关键词搜索网站营销策划主题
  • 网站优化软件开发网站重新制作多久google重新收录
  • 公司建网站费用网站设计评分标准