import java.io.IOException;
public class UserServlet extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) throws
javax.servlet.ServletException, IOException {
this.doGet(request,response);
}
protected void doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) throws
javax.servlet.ServletException, IOException {
User user = new User();
user.setId(Integer.parseInt(request.getParameter("id")));
user.setName(request.getParameter("name"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setPassword(request.getParameter("password"));
// 获取其他字段.....
System.out.println(user.toString());
response.setContentType("text/html");
response.getWriter().println(user.toString());
}
}
3.1.4 运行项目(配置tomcat)
3.1.5 Servlet 痛点分析
1. 添加外部 jar 不方便,容易出错,比如添加了一个不匹配的外部 jar 版本;
2. 运行和调试的时候需要配置 tomcat 不方便;
3. 发布不方便,servlet 项目必须依靠外置的 tomcat(外置的 web 容器)运行。
4. 路由配置不方便,一个访问地址对应一个 Servlet 类。
而以上痛点问题,都可以通过 JavaEE 进阶框架解决,接下来我们一起来看。
3.2 SpringBoot 项目开发
3.2.1 创建并添加引用
选择 SpringBoot 版本和添加外部引用:
3.2.2 添加代码并运行程序
用户实体:
import lombok.Data;
@Data
public class User {
private Integer id;
private String name;
private Integer age;
private String password;
}
添加控制器:
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/user")
@RestController
public class UserController {
@RequestMapping("/add")
public String add(User user){
return user.toString();
}
}
点击调试按钮即可运行项目:
访问地址:http://localhost:8080/user/add?id=1&age=18&name=java&password=123
即可运行项目,如下图所示
3.2.3 发布程序
使用 jar -jar xxx.jar 直接发布程序:
3.2.4 SpringBoot VS Servlet
SpringBoot 相比于 Servlet 的优点总结:
1. 添加外部 jar 更容易,不易出错(版本问题无需关注);
2. 调试项目更加方便,无需配置 Tomcat;
3. 发布项目更加方便,无需配置 Tomcat;
4. 添加路由更加方便,无需每个访问地址都添加一个类。
现在我们已经知道了框架的优点了,哪怎么去学呢?
四、怎么学框架?
先从基础框架 Spring 开始(工具箱) Spring Boot 快速开发 Spring 脚手架 MyBatis 快速操作数据库 其他:日志、事务、拦截器.... 框架学习中需要注意什么呢?
四、框架学习中的难点
1. 配置比较多。
2. 需要大量的外部 jar 包,在下载时容易出错。
3. 会涉及简单的软件工程的设计思想(分层思想:前、后端的分层思想,及后端工程的分层思想)。
4. 知识点相对来说比之前的知识更加的分散,要仔细学习才能搞懂各个知识点的逻辑关系。
5. 要记的东西很多,所以要大量地重复练习才能记住,比如各种注解。