springboot之jsp的使用记录


前言

刚开始学springboot的框架的踩坑总结。


一、创建springboot项目

在这里插入图片描述
比较重要的几个点,然后下一步选择需要的东西

创建好后,因为用jsp需要自己弄没有webapp的结构,
在这里插入图片描述
按照结构创建,这里不做重点讲

二、依赖导入

   <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- 添加servlet依赖模块 -->

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


        <!--添加tomcat依赖模块.-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

        <!--引入Spring Boot内嵌的TomcatJSP的解析包,不加解析不了jsp页面-->
        <!--如果只是使用JSP页面,可以只添加该依赖-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

        <!--如果使用JSTL必须添加该依赖-->
        <!--jstl标签依赖的jar包start-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.15</version>
        </dependency>
    </dependencies>

三、数据库连接

在这里插入图片描述

数据源的配置,还有一些其他的,包括访问跳转的一些操作
在这里插入图片描述
这个很重要,返回的是跳转的页面,比如我们需要访问login.jsp页面,则我们就可以localhost8080:/login,前面配置文件中已经做了处理,否则需要写xx.jsp,
zhege1
这个包的结构也有讲究。
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
这里只能访问到jsp包下面的jsp文件,子包里面的jsp需要像上面的写法才可以访问


四、关于layui的接口跳转发送的一些问题

<script>
  layui.use(function(){
    var form = layui.form;
    var layer = layui.layer;
    // 提交事件
    form.on('submit(demo-login)', function(data){
      var field = data.field; // 获取表单全部字段值
      var elem = data.elem; // 获取当前触发事件的元素 DOM 对象,一般为 button 标签
      var elemForm = data.form; // 获取当前表单域的 form 元素对象,若容器为 form 标签才会返回。
      // 显示填写结果,仅作演示用
      // layer.alert(JSON.stringify(field), {
      //   title: '当前填写的字段值'
      // });

      // 此处可执行 Ajax 等操作
      $.ajax({
        url: '/login_check', // 后端接口URL
        type: 'POST',
        data: JSON.stringify(data.field), // 将表单数据转换为JSON字符串
        contentType: 'application/json', // 设置请求头的Content-Type为application/json
        success: function (response) {

          console.log(response)
          //手动分割,response.redirect打印为undefined
          var splitArray = response.split('"');
          var redirectValue = splitArray[3];
          console.log(redirectValue)
          
          window.location.href = "http://localhost:8080"+redirectValue; // 跳转到指定页面
        }
      });
      return false; // 阻止默认 form 跳转
    });
  });

</script>

登录表单的提交,接口为:


@Controller
public class LoginController {
    @Autowired
    private LoginDao loginDao;

    @PostMapping("/login_check") // 对应前端Ajax请求的URL
    public ResponseEntity<String> handleFormSubmit(@RequestBody Login login) {
        System.out.println(loginDao);
        String username = login.getUser();
        String password = login.getPassword();
        System.out.println(username+"----"+password);

        int result=loginDao.getByUseAndPass(username,password);

        if (result>0){
            //跳转页面
            // 登录成功,返回跳转URL
            String redirectUrl = "/index_salary";
            return ResponseEntity.ok().body("{\"redirect\": \"" + redirectUrl + "\"}");

        }
        // 处理表单数据
        // 可以将接收到的数据存储到数据库、进行业务逻辑处理等操作
        return null; // 返回响应结果
    }

}

这里注意表的字段,以及实体类的字段,还有jsp中input框的name属性需要保持一致。
暂时总结到这里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在Spring Boot工程上使用JSP实现配置拦截器登录,您可以按照以下步骤操作: 1. 在pom.xml文件中添加JSP支持依赖: ``` <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <version>9.0.20</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> ``` 2. 在application.properties文件中添加JSP配置: ``` spring.mvc.view.prefix:/WEB-INF/jsp/ spring.mvc.view.suffix:.jsp ``` 3. 创建一个拦截器类,实现HandlerInterceptor接口,并实现其preHandle、postHandle和afterCompletion方法,用于在请求处理前、处理后和完成后执行相应的操作,比如验证登录信息、记录日志等。 4. 在WebMvcConfigurerAdapter中注册拦截器: ``` @Configuration public class WebConfigurer extends WebMvcConfigurerAdapter { @Autowired private LoginInterceptor loginInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loginInterceptor) .addPathPatterns("/admin/**") // 拦截/admin/下的请求 .excludePathPatterns("/login"); // 不拦截/login请求 } } ``` 5. 创建一个Controller类,用于处理用户登录请求。在该类中,可以使用@SessionAttribute注解将用户登录信息存储到Session中,以便在其他页面中进行验证。 6. 在JSP页面中,使用JSTL标签库或EL表达式获取Session中的用户信息,以便进行权限验证。 以上就是在Spring Boot工程上使用JSP实现配置拦截器登录的基本步骤,您可以根据实际需求进行相应的修改和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叼馋爱偷猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值