拉勾后台管理系统后端开发

2020-08-23  本文已影响0人  极速魔法

后端开发

Maven

settings.xml配置文件

仓库

Maven项目

pom.xml maven项目核心配置文件
pom.xml

<!-- 打包方式 war-->
<packaging>war</packaging>

<!-- properties 是全局设置,可以设置整个maven项目的编译器 JDK版本 -->
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!-- 重点  -->
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
                <!-- 指定一下项目的JDK编译版本 -->
            <configuration>
                <release>11</release>
            </configuration>
        </plugin>
    </plugins>
</build>

反射优化Servlet代码

${pageContext.request.contextpath}相当于调用 request.getContextPath()

// 根据get请求参数,调用方法
            //2.业务处理
            if(methodName != null){
                //通过反射优化代码,提升代码的可维护性
                //1.获取字节码对象  this = TestServlet对象
                Class c = this.getClass();

                //2.根据传入的方法名, 获取对应方法对象,执行方法即可
                Method method = c.getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);

                //3.调用Method对象的 invoke()方法,执行对应的功能
                method.invoke(this,req,resp);
            }
        } catch (Exception e) {
            System.out.println("请求的功能不存在! !");
            e.printStackTrace();
        }

JSON

//对象转json
JSON.toJSONString(Object objcet)

//集合转json
JSON.toJSONString(List list)

//指定输出json的key, ordinal 指定输出key的顺序
// 1是第一个
@JSONField(name="user",ordinal=1)

// 指定不序列化
@JSONField(serialize=false)

// json对象转javaBean,传入json字符串和javaBean.class
Person p=JSON.parseObject(json,Person.class)

List<Person> list = JSON.parseArray(json,Person.class)

Post请求格式

// 指定响应的字段
SimplePropertyFilter  filter = new SimplePropertyFilter(Course.class,”id”,”name”);
JSON.toJSONString(courselist,filter);

//json格式字符串转为map
Map<String,Object>JSON.parseObject(postJson,Map.class)
  
// where 1=1用于sql语句和and拼接,
// ”select * from course  and“,否则sql语句会出错
select * from course where 1=1 and 

文件上传

服务端获取上传文件

BeanUtils

//1.创建course对象
Course course = new Course();

//2.创建Map
Map<String,Object> map = new HashMap<>();

//3.向map集合中添加数据, key要与course的属性名保持一致,value的数据类型与course的属性的类型保持一致
map.put("id",1);
map.put("course_name","大数据");

//将map中的数据封装到 course中
BeanUtils.populate(course,map);

//设置属性
BeanUtils.setProperty(course,"price",100.0);

// 获取属性
String price = BeanUtils.getProperty(course, "price");

Post请求数据提交格式

// 获取流
BufferdReader reader=   request.getReader()
//逐行读取存入StringBuilder
...
while((line = reader.readline) != null) {
    str.append(line);
}

str.toString()

功能开发流程

上一篇 下一篇

猜你喜欢

热点阅读