发表于: 2018-01-20 11:14:44

5 497


今天完成的事情:

1.今天提交任务三,师兄让我完善任务三分析日志的脚本,按照师兄的要求分析请求时间以及请求的url:

整个过程由之前的基础,比较舒服,传一下脚本:

很简单的。

2.任务三提交完毕,开始正式搞任务四。

映射的URL对应的Servlet
/helloservlet1
/bbs/admin/*servlet2
/bbs/*servlet3
*.jspservlet4
/servlet5

 

 

 

 

 

 

 

实际请求映射的结果

去掉上下文路径的剩余路径

处理请求的Servlet

/hello

servlet1

/bbs/admin/login

servlet2

/bbs/admin/index.jsp

servlet2

/bbs/display

servlet3

/bbs/index.jsp

servlet3

/bbs

servlet3

/index.jsp

servler4

/hello/index.jsp

servlet4

/hello/index.html

servlet5

/news

servlet5

第一行的/hello 指的是单个的,如果是/hello/*那么倒数第二和三也会被servlet1处理。

  • “/*”属于路径匹配,并且可以匹配所有request,由于路径匹配的优先级仅次于精确匹配,所以“/*”会覆盖所有的扩展名匹配,很多404错误均由此引起,所以这是一种特别恶劣的匹配模式,一般只用于filter的url-pattern
  • “/”是servlet中特殊的匹配模式,切该模式有且仅有一个实例,优先级最低,不会覆盖其他任何url-pattern,只是会替换servlet容器的内建default servlet ,该模式同样会匹配所有request。

上面说的非常的清楚了

2.今天参考于大佬的日报,想尝试一波自动生成代码,但是失败了,原因没有深究。

    事情是这样的,我按照日报配置了插件,配置文件,jar包等等等,然后执行自动生成的命令,显示BUILD SUCCESS ,但是并没有任何代码生成,搞来搞起也没搞出来,最后放弃,这个问题先抛出去吧,等空下来再整

3.之前已经设计好了db表,今天开始尝试静态转动态,一开始也是无从下手,后来结合昨天的db表,突然发现这个任务只是包装了一下,并没有那么难,只需要在原有的机构中替换掉原有的文字,图片。于是开始验证自己的想法:照例,搭建ssm项目,加依赖,配置各种文件,穿一波项目结构:

  在这里也算备份一下pom。xml吧,也算是方便后面的师弟:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>

 <groupId>com.student</groupId>
 <artifactId>task4Demo</artifactId>
 <packaging>war</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>task4Demo Maven Webapp</name>
 <url>http://maven.apache.org</url>

 <properties>
   <!-- spring版本号 -->
   <spring.version>4.2.4.RELEASE</spring.version>
   <!-- log4j日志文件管理包版本 -->
   <slf4j.version>1.6.6</slf4j.version>
   <log4j.version>1.2.12</log4j.version>
   <!-- junit版本号 -->
   <junit.version>4.10</junit.version>
   <!-- mybatis版本号 -->
   <mybatis.version>3.2.1</mybatis.version>
 </properties>

 <dependencies>
   <!-- 添加Spring依赖  9pics-->
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-core</artifactId>
     <version>${spring.version}</version>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-webmvc</artifactId>
     <version>${spring.version}</version>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context</artifactId>
     <version>${spring.version}</version>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context-support</artifactId>
     <version>${spring.version}</version>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-aop</artifactId>
     <version>${spring.version}</version>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-aspects</artifactId>
     <version>${spring.version}</version>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-tx</artifactId>
     <version>${spring.version}</version>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-jdbc</artifactId>
     <version>${spring.version}</version>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-web</artifactId>
     <version>${spring.version}</version>
   </dependency>

   <!--单元测试依赖 -->
   <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>${junit.version}</version>
     <scope>test</scope>
   </dependency>

   <!-- 日志文件管理包 -->
   <dependency>
     <groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>${log4j.version}</version>
   </dependency>
   <dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-api</artifactId>
     <version>${slf4j.version}</version>
   </dependency>
   <dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-log4j12</artifactId>
     <version>${slf4j.version}</version>
   </dependency>


   <!--spring单元测试依赖 -->
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-test</artifactId>
     <version>${spring.version}</version>
     <scope>test</scope>
   </dependency>

   <!--mybatis依赖 -->
   <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>${mybatis.version}</version>
   </dependency>

   <!-- mybatis/spring包 -->
   <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis-spring</artifactId>
     <version>1.2.0</version>
   </dependency>

   <!-- mysql驱动包 -->
   <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.29</version>
   </dependency>


   <dependency>
     <groupId>org.mybatis.generator</groupId>
     <artifactId>mybatis-generator-core</artifactId>
     <version>1.3.5</version>
   </dependency>

   <!-- javaee-api包 注意和项目使用的JDK版本对应 -->
   <dependency>
     <groupId>javax</groupId>
     <artifactId>javaee-api</artifactId>
     <version>6.0</version>
     <scope>provided</scope>
   </dependency>

   <!-- javaee-web-api包 注意和项目使用的JDK版本对应 -->
   <dependency>
     <groupId>javax</groupId>
     <artifactId>javaee-web-api</artifactId>
     <version>6.0</version>
     <scope>provided</scope>
   </dependency>
   <!--j2ee相关包 servlet、jsp、jstl-->
   <dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>jstl</artifactId>
     <version>1.2</version>
   </dependency>


   <dependency>
     <groupId>javax.servlet.jsp</groupId>
     <artifactId>javax.servlet.jsp-api</artifactId>
     <version>2.3.1</version>
   </dependency>
 </dependencies>
 <build>
   <finalName>task4Demo</finalName>
   <plugins>
     <!-- mvn mybatis-generator:generate -->
     <plugin>
       <groupId>org.mybatis.generator</groupId>
       <artifactId>mybatis-generator-maven-plugin</artifactId>
       <version>1.3.2</version>
       <configuration>
         <verbose>true</verbose>
         <overwrite>true</overwrite>
         <configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
       </configuration>
       <dependencies>
         <!-- 数据库驱动 -->
         <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.42</version>
         </dependency>

       </dependencies>
     </plugin>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-compiler-plugin</artifactId>
       <version>3.6.1</version>
       <configuration>
         <source>1.5</source>
         <target>1.5</target>
         <encoding>UTF-8</encoding>
       </configuration>
     </plugin>
   </plugins>
 </build>




</project>

具体的配置信息就不传了。

说一下在配置过程中遇到的问题,在今天搭建ssm的时候,想要换一种方式来读取properties文件。谁知道这一下子惹出来不少麻烦:就一直报错,无法加载jdbc驱动,我和曲师兄尝试多次无法解决,提前说一下

PropertiesFactoryBean

今天尝试的是这个,shpring管理properties的一个bean,总的来说,这个东西可以免除我们频繁地写装载配置的代码,写好了这个,直接在里面装载就行

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
   <property name="locations">
       <list>
           <value>classpath:jdbc.properties</value>
           <!--要是有多个配置文件,只需在这里继续添加即可 -->
       </list>
   </property>
</bean>

就是里面的list标签内,注释很明白了;那么今天的问题是怎么回事呢,为什么取不到值?这个东西有着spring的一贯特色,省事儿省心。原因是我省去了list标签,导致出的问题。。。。

后来索性不用了,用传统的方式加载了

<context:property-placeholder location="classpath:jdbc.properties"/>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName">
       <value>${jdbc_driverClassName}</value>
   </property>
   <property name="url">
       <value>${jdbc_url}</value>
   </property>
   <property name="username">
       <value>${jdbc_username}</value>
   </property>
   <property name="password">
       <value>${jdbc_password}</value>
   </property>
</bean>

  这样的好处就是,在修改的时候非常直观,非常方便。

4.静态转动态

在t10页面中打上了c标签,使用foreach来循环输出数据库的内容,而且在引用的时候把需要的图片加载到项目内的某个目录,用相对目录的方法曲引用,很舒服。

<link href="${pageContext.request.contextPath}/t10/bootstrap.min.css" rel="stylesheet" type="text/css">
<a href="#" target="_blank"> <img alt=""  src="${pageContext.request.contextPath}/t10/imges/54537.png"></a>

这个就不用过多地解释了吧,很清楚。

5.在数据库中存放图片

  这个问题我也百度了一下,方法很多,但是只说比较好的啊:

二进制转换   就不给力   放弃  因为麻烦

绝对路径存放   这个工作环境一换,就很难受     放弃

相对路径存放    这个就很舒服。

  传一个例子:这里存放的就是我的项目中的相对路径


很清楚吧,接下来要怎么从数据库中取出来呢?

<img alt="" src="${pageContext.request.contextPath}/${pross.picture}">

是不是很简单?接下来看看效果吧。。不太正经:

为了不让惊喜来的那么快,加了一个欢迎界面:

点击之后。。。。捂脸

  至此。。

今天遇到的问题

  上面都提及到了,很有意思的一天,我现在还是对那个自动生成代码很感兴趣

今天的收获

  以上,很充实,很有趣的一天

明天计划的事情

  推进任务四


返回列表 返回列表
评论

    分享到