SpringBoot入门

一、SpringBoot是什么?

        spring的出现是为了解决企业级开发应用的复杂性,spring的通过注册bean的方式来管理类,但是随着业务的增加,使用xml配置bean的方式也显得相当繁琐,所以springboot就是为了解决spring配置繁琐的问题而诞生的。

二、Maven

        我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量往往非常多,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。
       开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包、多一个Jar包往往会报一些让人摸不着头脑的异常。而Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。

三、创建第一个MyBoot项目

1.功能需求: 实现发表文章的功能
        流程:
        <1:用户在首页点击发表文章的超链接来到发表文章页面;
        <2:在页面输入文章标题和文章内容并点击发表按钮;
        <3:服务端将该文章保存后响应发表结果页面(成功或失败);

2.新建writeArticle项目
        <1 file->project->springWeb

3.在static下新建html页面
       1.1:writeArticle.html 发表文章页面,
       1.2:article_success.html 发表成功提示页面
       1.3:article_fail.html 发表失败提示页面
页面form表单action指定的值"/writeArticle"
form表单
form表单是用于将用户在页面上输入的信息提交给服务端使用的组件。
form表单中应当包含若干的输入组件.
注意:只有包含早form标签中间的输入组件中用户输入的信息才会提交给服务端!!

form上有两个重要的属性:
action:用于指定表单提交的路径,该路径需要服务端配合处理
method:表单提交的形式,有两个可选项:
GET:地址栏形式提交,表单数据会拼接到地址栏的URL中传递
POST:表单数据会被包含在请求的消息正文中被提交,当表单数据含有用户隐私信息或附件上传时应当使用POST。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>发表文章</title>
</head>
<body>
  <center>
      <h1>发表文章</h1>
      <form action="/writeArticle" method="get">
        <table border="1">
          <tr>
            <td>标题</td>
            <td><input type="text" name="title"></td>
          </tr>
          <tr>
            <td>作者</td>
            <td><input type="text" name="author"></td>
          </tr>
          <tr>
            <td colspan="2">
              <textarea cols="50" rows="20" name="content"></textarea>
            </td>
          </tr>
          <tr>
            <td colspan="2" align="center"><input type="submit" value="发表"></td>
          </tr>
        </table>
      </form>
  </center>
</body>
</html>
<!-- have_article.html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>错误</title>
</head>
<body>
    <center>
        <h1>该标题已存在,请<a href="/writeArticle.html">重新发表</a></h1>
    </center>
</body>
</html>
<!--article_fail.html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>失败!</title>
</head>
<body>
    <center>
        <h1>文章发表失败了,请<a href="/writeArticle.html">重新发表</a></h1>
    </center>
</body>
</html>
<!--/article_success.html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>成功</title>
</head>
<body>
    <center>
        <h1>文章发表成功!</h1>
    </center>
</body>
</html>

4:新建ontroller包,新建处理文章相关的业务类:ArticleController
  并定义处理发表文章的方法:writeArticle()

此处使用@controller注解

@Controller(控制器):处理与用户相关的业务操作Spring MVC框架要求,只有被注解@Controller标注的类才会被识别,且对应的方法上有@RequestMapping的注解才会处理某个来自前端页面的请求。

@RequestMapping("/writeArticle")括号中的参数值应当与特定的请求一致(比如和某页面的form表单action一致)

@Controller
public class ArticleController{
private static File articleDir;//创建静态变量articleDir
    static{
        articleDir = new File("articles");
        if(!articleDie.exist()){
        articlesDir.mkdirs();
        }    
    }
@RequestMapping(/writeArticle)
public void writeArticle(HttpServeltRequest request,HttpServeltResponse response){
    //获取键盘输入信息
    String title = request.getParameter("title");
    String author = request.getParameter("author");
    String content = request.getParameter("content");

    //判断文章标题和内容是否不为空,否则返回失败页面,重新提交
    if(title==null||content==null||title.isEmpty()||content.isEmpty){
           response.sendRedirect("/article_fail.html");//此处处理异常
        return;
        }
    File articleFile = new File(articleDir,title+".obj");
    if(articleFile.exists()){//判断重复标题
        response.sendRedirect("/have_article.html");
        return;
    }
    Article article = new Article(title,author,content);
    FileOutputStream fos = new FileOutputStream(articleFile);
    ObjectOutputStream oos = new ObjectOutputStream(fos);

    oos.writeObject(article);//对象序列化
    response.sendRedirect("/article_success.html");
    
    }
}

      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值