前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring-web

Spring-web

作者头像
用户8447427
发布2022-08-18 16:26:00
4140
发布2022-08-18 16:26:00
举报
文章被收录于专栏:userlyz学习记录userlyz学习记录

项目创建过程

添加依赖关系

代码语言:javascript
复制
<dependencies>
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>database</artifactId>
        <version>${project.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
</dependencies>

WEB-INF/web.xml针对于spring环境的加载

代码语言:javascript
复制
<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:database-context.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

database webapp创建过程是一样的,按照原来的步骤就可以完成

在项目结构中添加web
在项目结构中添加web

把上下两个的路径都添加成…webapp\src\main\web…

添加运行调试配置
添加运行调试配置

把端口改成9000防止端口占用,另外添加部署记得要和项目文件同名

创建index.html创建初始页面

添加至web的网页环境
添加至web的网页环境

整合ssm

添加依赖jstl

代码语言:javascript
复制
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

在web.xml中添加配置DispathcherServlet

所有请求都被DispathcherServlet所拦截

代码语言:javascript
复制
<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

在WEB-INF下创建和刚才DispathcherServlet中servlet-name同名的spring配置文件findlove-servlet.xml

在项目结构下查看是否自动检测到了配置文件

项目结构截图
项目结构截图

创建并配置Controller

在main/java下创建文件包com.findlove.www.Controller文件包

写入跳转文件bookController

代码语言:javascript
复制
package com.spring.www.Controler;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.xml.ws.RequestWrapper;

@Controller
public class bookController {
    @RequestMapping (value="/index.html")
    public String index(){
        return "index";
    }
}

创建Java文件controller bookConntroller 在文件中进行注解@Controller 并在刚才创建的findlove-servlet.xml文件中添加

代码语言:javascript
复制
<context:component-scan base-package="com.spring.www"/>

以扫描到刚才创建的Controller类

添加视图解析器

spring-servlet.xml

代码语言:javascript
复制
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:viewClass="org.springframework.web.servlet.view.JstlView"
      p:prefix="/jsp/"
      p:suffix=".jsp"/>

我这个自己不知道怎么设置的他说的不用改啥地址也都能显示

中间的一些jsp 路径,可以通过bookController进行设置

bookController不设置

jsp文件中的路径要写成标准地址

绝对地址
绝对地址

但是如果设置了

代码语言:javascript
复制
package com.spring.www.Controler;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.xml.ws.RequestWrapper;

@Controller
public class bookController {
    @RequestMapping (value="/index.html")
    public String index(){
        return "index";
    }
    @RequestMapping(value = "booklist.html")
    public String booklist(){
        return "booklist";
    }
    @RequestMapping(value = "newBook.html")
    public  String newBook(){
        return "newBook";
    }
}

jsp文件中就可以设置成设置成

相对的地址
相对的地址

一些图片以及一些cssjs样式静态资源

可以通过tomcat默认的default的servlet进行处理,不通过.DispatcherServlet进行处理

代码语言:javascript
复制
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
</servlet-mapping>

不通过DispatcherServlet进行处理的话他图片的路径就要进行修改

我的是在不添加那个defaultServlet前面的也能显示,添加defaultServlet之后两种方式都能显示图片

代码语言:javascript
复制
..、img/java.png要改成img/java.png
例:
<div class="item">
	<img src="img/javaee.png" alt="Second slide">
</div>
<div class="item">
	<img src="../img/spring.png" alt="Third slide">
</div>

总结:分三步走

Dispatcher拦截所有访问

静态资源特殊对待

代码语言:javascript
复制
通过<c url value=""/>写链接

数据库中文乱码问题

我的是在jdea中建立的数据库表,中间的中文并没有中文乱码,

问题

1、mysql.properties标红

标红
标红

在项目结构中将resource也设置成源目录即可解决问题

项目结构截图
项目结构截图

2、在表单收集过程中出现了中文乱码,不管是用post或者get方法都是中文乱码

get乱码解决办法

post乱码解决办法

添加一个过滤器

代码语言:javascript
复制
<!--加上一个过滤器-->
<filter>
    <filter-name>characterEncoding</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>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>characterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

这样就解决了

3、报错

错误
错误

解决办法,在web.xml下所有的自己添加的配置之前添加就可以解决,问题spring的web包和webmvc包冲突,webmvc中包含了这个web的jar。

代码语言:javascript
复制
<absolute-ordering/>

显示数据库语句

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <settings>        <!-- 打印查询语句 -->        <setting name="logImpl" value="STDOUT_LOGGING" />    </settings></configuration>

在database-content.xml中添加

代码语言:javascript
复制
<!--配置Mybatis--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">    <!--数据源-->    <property name="dataSource" ref="dataSource"/>    <!--别名-->    <property name="typeAliasesPackage" value="www.lyz.com"/>    <property name="configLocation" value="log4j.xml"/>    <!--配置映射文件的路径-->    <property name="mapperLocations" value="classpath*:www/lyz/com/DAO/*Mapper.xml"/></bean>

一些资源ss

Spring Boot实现文件上传

springboot实现分页功能

【Spring Boot学习】08、实现分页功能

在添加网上的登录页面之后会出现css模式加载不上,使用绝对地址

代码语言:javascript
复制
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/login.css">

(6条消息) 用git上传项目时,如果origin remote写错了怎么移除_adi1997的博客-CSDN博客

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目创建过程
  • 整合ssm
    • 创建并配置Controller
      • 添加视图解析器
        • 我这个自己不知道怎么设置的他说的不用改啥地址也都能显示
          • 中间的一些jsp 路径,可以通过bookController进行设置
            • 一些图片以及一些cssjs样式静态资源
              • 总结:分三步走
                • 数据库中文乱码问题
                • 问题
                  • 1、mysql.properties标红
                    • 2、在表单收集过程中出现了中文乱码,不管是用post或者get方法都是中文乱码
                      • 3、报错
                      • 显示数据库语句
                      • 一些资源ss
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档