发表于: 2017-08-13 23:39:50

1 1146


任务小结:


今天完成的事情:

1.静态资源无法访问终于找到原因了,虽然解决方法是歪门邪道


 

明天计划的事情:

1. 开始任务5



遇到的问题:

1. 亚衡遇到的一个问题我不知道,认为很有价值

UserName.java

userName.xml

正常的映射是这样的,但是如果写成UserName.xml就无法找到映射文件



收获:

1. 静态资源问题的解决

在linux的tomcat下如果部署文件taskfour.war,

pask设置为task4

则在webapps下生产task4文件夹,war包解压进去

访问url:   ip : 端口 /task4/restul风格

可以访问到jsp,但是静态资源的路径为 ip : 端口 / 静态资源地址

需要在加上   ip : 端口 /task4/ 静态资源地址


最新发现

再tomcat下自动加载war包,解压到war名的文件夹下可以访问到css

只是要等一段时间等tomcat部署才可以

初步推测:tomcat先编译jsp文件然后慢慢加载css识别路径什么的,可能编译加载并读取配置信息需要时间。

需要进一步验证。等有时间见了就验证


通过nginx访问也加载不到静态资源,是因为我的nginx配置转发有问题,需要再次研究。





深度思考:

1.什么是jsp?

       原来是没有jsp的,只有severlet,后来为了方便开发,将页面显示从severlet中提取出来,通过Java程序段和jsp标记与severlet继续关联(Java ServletJSP的技术基础),所以当Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。

说人话:为方便java程序员进行开发和实时,对也页面进行修改,看是否正确


2.jsp有几个内置对象?

JSP9个内置对象

request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。它是HttpServletRequest的实例

response对象:对客户的请求做出动态的响应,向客户端发送数据。

session对象: 是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理

application:  服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。

out对象:是一个输出流,用来向客户端输出数据

Page对象:就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例。JSP网页本身,page对象是当前JSP页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;JSP页面中,很少使用page对象

configjav  jsp validator相关的错误

exceptionjava.lang.Throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令pageisErrorPage 属性为true时,该对象才可以使用。

pageContextjavax.servlet.jsp.PageContext的实例,网页的属性是在这里管理,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据


3.熟练使用c标签,el表达式。

c标签常用的是<c:if>和<c:forEach>

前一个用于流程控制,后一个运用于循环

<c:forEach items="${studentTable}" var="studentTable" varStatus="st">
<tr>
   <td>
       ${studentTable.id}</td>
   <td>
       ${studentTable.user}</td>
   <td>
       ${studentTable.pass}</td>
   <td>
       ${studentTable.profession}</td>
   <td>
   ${studentTable.profession}-${studentTable.classId}</td>
   <td>
       ${studentTable.name}</td>
   <td>
       ${studentTable.qq}</td>
   <td>
       ${studentTable.wish}</td>

   <td>
       <c:if test="${studentTable.status == 1}">
在学
       </c:if>
<c:if test="${studentTable.status == 0}">
结业
       </c:if>
</td>
   <td>
       <date:date value ="${studentTable.enrolAt}" /></td>
   <td>
       修改 删除</td>
</tr>
</c:forEach>



4.为什么要使用tiles框架?

      是为了将复杂的jsp页面作为一个的页面的部分机能,然后用来组合成一个最终表示用页面用的,这样的话,便于对页面的各个机能的变更及维护。 Tiles使得struts在页面的处理方面多了一种选择。并且更容易实现代码的重用


说人话:避免重复性劳动,达到修改一个页面,所有的相关页面也修改。也是一种模块复用的思想,高内聚,低耦合。



进度: 

         任务开始时间:8.6

         预计完成时间:8.11

         是否有延期风险:已完成

         第一次延期 | 延期至 2017.08.12 | 被最后的静态资源访问卡住了,求师兄解答一下!

         第二次延期 | 延期至 2017.08.13 | 还是静态资源的问题

禅道:http://task.ptteng.com/zentao/project-task-264-unclosed.html




PS:终于完成了!!!



成果展示:

http://rcy9527.top:14200/a/profession

http://rcy9527.top:14200/a/test

http://rcy9527.top:14200/a/student/all

http://rcy9527.top:14200/a/home

http://rcy9527.top:14200/a/student/table






返回列表 返回列表
评论

    分享到