发表于: 2017-09-30 23:14:08

1 715


今天完成的任务:

1.学习ssm的实现原理。

<form> </form>是一个表单,当我submit提交的时候,表单内的属性值都会提交到值栈,

然后在java程序中action,或者servlet就可以使用其中的值。比如使用的登录界面。

就是将界面写在form里面,然后提交用户名和密码。

action是将表单中的内容提交到制定的路径中。

   springmvc中注解的作用

@controller 用来标记在类之上,来说明这是一个控制类。使用@Controller说明他是一个springmvcController对象。用自动扫描或者指定地址的方法来用Spring管理。

@RequestMapping用来请求地址映射的注解,可以使用在类之上或者方法之上。用在类之上,就说明了这个类里面所有的请求都是在类路径下。

使用下面的方法,在类上面和方法上面都加标注,访问的路径就是/user/login,如果没有类上面的标注,就直接是/login

@RequestMapping("user")
public class CategoryController {
       
@Autowired
   
CategoryService categoryService;
   
@RequestMapping(value = "/login",method = RequestMethod.GET)
   
public String Login() {
       
return "login";
   
}

@ResourceAutowired

都是用来注入bean的时候使用,知识resourcebynameautowiredbytype。主要的作用是省去了set方法。

@Override

作用是可以帮助检验方法名中是否有父类中包含的,不然会报错。可以不写。

   

2.和李亚衡师兄问了一下任务2的基本要求,然后发现自己还是有些需要修改的地方

日志文件:需要输出到文件中。添加下面一半输出到文件就好。

log4j.rootLogger=ERROR,info,stdoutfile
# MyBatis logging configuration...
log4j.logger.com.how2java=TRACE
# 控制台...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
#文件
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=e\:mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

理解配置文件

1.springmvc

<mvc:annotation-driven/> springmvc注解驱动

可代替handlerMappinghandlerAdapter自动注册这两个方法。

<!-- 注解处理器映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandler

Mapping"></bean>
<!--
注解适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandler

Adapter"></bean>

2.web.xml:加载顺序context-param -> listener -> filter -> servlet

<listener></listener>配置监听器contextLoaderListener因为它实现了ServletContextListener这个接口,

web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。

<filter></filter>过滤器。有很多不同的用法,目前用到的是编码的功能。

<servlet></servlet>servlet中设置dispatcher-servlet并且,设置某种格式的请求交给他来处理。

<urlpattern>就是设置某种访问形式。比如/或者/test/*(只要在test的路径之后都可以)等。

<context-param>的作用:
web.xml的配置中<context-param>配置作用
1. 启动一个WEB项目的时候,容器(:Tomcat)会去读它的配置文件web.xml.读两个节点:

 <listener></listener> <context-param></context-param>

2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.

3.容器将<context-param></context-param>转化为键值对,并交给ServletContext.

4.容器创建<listener></listener>中的类实例,即创建监听.

5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext = ServletContextEvent.getServletContext();
context-param
的值 = ServletContext.getInitParameter("context-param的键");

6.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.
换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.

7.举例.你可能想在项目启动之前就打开数据库.
那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接.

8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.

3.回答师兄小课堂的提问。

@Controller @Service @Repository的区别和使用范围

Controller一般用在控制组件中,service用在业务逻辑层,repository用在dao层。

另外在不确定使用哪一种的时候可以使用@component通用的来标注。

4.配置和使用jetty

jettt是基于javaweb容器,与tomcat作用相似,但是特点是轻量级更灵活(可插拔可扩展)。

idea中配置jetty有两种方法。一个是在maven中加入plugin就可以使用

另一个是下载jetty的插件,然后和tomcat一样加入到项目中。

外置的添加jetty的时候会报错,然后加了一行  --module jxm 就好了

添加好了jetty但是运行的时候又报错了。

重新试一下使用maven里面的插件运行,使用maven来添加插件是可以的。

明天计划:

明天计划做深度思考。

把项目用到的表改成student报名表。

遇到问题:

1. 在使用log4j的时候报错,不能同时输出到控制台和文件中。。。

但是我这句话应该没错啊:

log4j.rootLogger=info,stdoutfile

 

2使用外置的jetty报错了。

3.jetty下载了不能用。找不到原因。

收获:

知道了ssm中的配置文件的意思,并且都添加了注释。

知道了注解的作用

学会了使用jetty来运行

安装好了postman

禅道:

不延期

http://taskNaNteng.com/zentao/project-task-343.html

 

 

 



返回列表 返回列表
评论

    分享到