发表于: 2017-09-27 00:06:27

1 756


不知道最近怎么总喜欢空过...今明两天写在一个日报里

--------------------------------------------------------9.26-------------------------------------------------------


今天完成的任务

用标签完成了一个springmvc的项目


新建一个web的项目不需要多重复


首先是先写web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
        version="3.1">
 <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/applicationContext.xml</param-value>
 </context-param>
 <listener>
   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <servlet>
   <servlet-name>dispatcher</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
   <servlet-name>dispatcher</servlet-name><!--对应dispatcher-servlet.xml-->
   <url-pattern>/</url-pattern><!--这个是用于匹配所有请求,但是目前尚未用到-->
 </servlet-mapping>
</web-app>

<!--一般来讲web是一个很固定的套路-->

对局web.xml来说需要注意的仅有


<servlet-name>dispatcher</servlet-name>

对应下面要写的dispatcher-servlet.xml


<url-pattern>/</url-pattern>

匹配所有请求翻阅资料后发现url-patterns是有其相应的匹配规则



1.精确匹配

   <url-pattern>/kata/detail.html</url-pattern>

   <url-pattern>/demo.html</url-pattern>

   <url-pattern>/table</url-pattern>


等写法即在浏览器输入“相应的域名+url”即可进入对应的servlet


2.扩展匹配


<servlet-mapping>

   <servlet-name>MyServlet</servlet-name>

   <url-pattern>*.jsp</url-pattern>

</servlet-mapping>


等写法即在浏览器输入“相应的域名+*.jsp”即可进入对应的servlet


3.路径匹配

<servlet-mapping>

   <servlet-name>MyServlet</servlet-name>

   <url-pattern>/kata/*</url-pattern>

</servlet-mapping>


等写法即在浏览器输入“相应的域名+路径/*”即可进入对应的servlet



*是任意值


五、匹配任意的url

如果<url-pattern>配置成如下两种的任意一种

<url-pattern>/</url-pattern>

<url-pattern>/*</url-pattern>

就是随便写都能进了..




其次写dispatcher-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:mvc="http://www.springframework.org/schema/mvc"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
   <context:component-scan base-package="com.yuntao.hello"/>

   <!-- 静态资源(js、image等)的访问 -->
   <mvc:default-servlet-handler/>

   <!-- 开启注解 -->
   <mvc:annotation-driven/>

   <!--ViewResolver 视图解析器-->
   <!--用于支持Servlet、JSP视图解析-->
   <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
       <property name="prefix" value="/WEB-INF/jsp/"/>
       <property name="suffix" value=".jsp"/>
   </bean>
</beans>


其中大部分都是不太了解的



   <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
       <property name="prefix" value="/WEB-INF/jsp/"/>
       <property name="suffix" value=".jsp"/>
   </bean>


仅仅次bean是将项目打印的视图固定于WEB-INF/jsp/ *.jsp中检索,第一次配置的时候显示404错误原因是没有定位好相应的jsp文件



不过在此两份不同的教程引入的class不尽相同

   <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">


Controller类


@Controller//该类为请求处理的controller类
@RequestMapping(value = "/hello", method = RequestMethod.GET)//用于定义一个请求映射,value为请求的url,method用以指定该请求类型,一般为get和post,代码中要调用printHello方法,即可访问 hello/hello
public class HelloController {

@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("msg", "Spring MVC Hello World");//打印的字符
       model.addAttribute("name", "yuntao");
       return "hello";//返回hello.jsp
   }
}
@Controller

标注为控制层组件


@RequestMapping(value = "/hello", method = RequestMethod.GET)

用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径

value = "/hello"

调用的是hello.jsp

 method = RequestMethod.GET


参数提交用get方式提交的



RequestMapping注解有六个属性分成三类。

1、 value, method;

value:     指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);

method:  指定请求的method类型, GET、POST、PUT、DELETE等;

 

2、 consumes,produces;

consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

produces:    指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;

 

3、 params,headers;

params: 指定request中必须包含某些参数值是,才让该方法处理。

headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。


但是有很多地方不是很理解

1.为什么在教程上此注解在类和方法上分别进行了标记

2.method有许多提交的方式,比较常用的有get和post;RequestMethod.GET,还有RequestMethod.POST


但是并不了解她们的运作方法




最后写hello.jsp


jsp的东西较为简单,打算明天先从此学习一下


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
   <title>${msg}</title>
</head>
<body>
<h1>${msg}</h1>
<span>${name}</span>
</body>
</html>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

是JSP的<%@page指令

contentType="text/html;charset=UTF-8" 

表示让浏览器以utf-8的编码形式输出字符

  <title>${msg}</title>
</head>
<body>
<h1>${msg}</h1>
<span>${name}</span>

是调用

model.addAttribute("name", "yuntao");

中的内容



明天要做的事

看看Servlet和jsp



遇到的问题



因为路径错误,显示的网页出现404




收获





-----------------------------------------------------------9月27日日报-------------------------------------------



今天完成的任务


主要看了

servlet和jsp,已经html的一点知识



html的知识大体以略过为主不做深入



大体就是在jsp里键入相对应的语句


<iframe src="http://how2j.cn/" width="600px" height="400px">
</iframe>
<form method="post" action="http://how2j.cn/study/login.jsp">
   账号:<input type="text" name="name"> <br/>
   密码:<input type="password" name="password" > <br/>
   <input type="submit" value="登陆">
</form>
<form method="get" action="http://how2j.cn/study/login.jsp">
   账号:<input type="text" name="name"> <br/>
   密码:<input type="password" name="password" > <br/>
   <input type="submit" value="登陆">
</form>
<!--分别是两种提交数据的方式-->

分别创建了两个对话框,指向

http://how2j.cn/study/login.jsp

创建一个简单的登陆按钮


 <input type="submit" value="登陆">



2.jsp

<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<br>
<%=new Date().toLocaleString()%>
<body>


目前在我理解,jsp就是一种在html中使用java代码的一种方式...

import="java.util.Date

导入这个包

contentType="text/html;charset=UTF-8"

设置字符串编码形式

language="java"

声明使用的语言


<br>
<%=new Date().toLocaleString()%>
<body>

java代码



jsp是编译成java的class文件运行的,与servlet一同继承了HttpServlet




明天要做的事情

看看mvc


遇到的问题

一个是加班,一个是在7群浪费的时间太多了,今天没干什么事情..

我得把7群屏蔽了


收获




返回列表 返回列表
评论

    分享到