第1、2、3天笔记
来源:互联网 发布:性能优化方法 编辑:程序博客网 时间:2024/05/22 19:47
在网上搜索了很多关于Struts2的资料,一开始无从下手,最后首先选择了使用了Alveole Web的插件,发现它的功能真的很强大,不需要知道struts2的太多内容,按照官方提供的教程就可以很轻松的配制出见到的struts程序。使用了之后看看其自动生成的文件,发现有很多是冗余的,所以还是不太适合初学者去使用去了解struts2的构成。之后按照网上下载的一个教程
http://www.javaeye.com/topic/127704。按照其第一页的配置后,就可以运行了,其中出现了一个问题在代码
http://www.javaeye.com/topic/127704。按照其第一页的配置后,就可以运行了,其中出现了一个问题在代码
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="s" uri="/struts-tags" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>hello</title>
- </head>
- <body>
- Hello World!
- <s:form action="HelloWorld">
- Name: <s:textfield name="name"></s:textfield>
- <s:submit></s:submit>
- </s:form>
- </body>
- </html>
在第8行的地方会报错,但是不影响运行的。在其成功运行后,我在尝试使用xml配置网页内容的时候,有出现了一个很有趣的问题,在网上搜索也有其他的人遇到了这个问题。我使用的是dom4j进行xml的书写。
以下是调试正确的代码:
- package tutorial;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import javax.servlet.ServletContext;
- import org.apache.struts2.ServletActionContext;
- import org.dom4j.Document;
- import org.dom4j.DocumentException;
- import org.dom4j.Element;
- import org.dom4j.io.SAXReader;
- import org.junit.runner.Request;
- import com.opensymphony.xwork2.ActionSupport;
- public class HelloWorld extends ActionSupport {
- /**
- *
- */
- private static final long serialVersionUID = -385706973710871360L;
- private String name;
- private String title;
- public String getName()
- {
- return name;
- }
- public void setName(String name)
- {
- this.name=name;
- }
- public String execute() throws DocumentException, FileNotFoundException
- {
- SAXReader reader=new SAXReader();
- File file=new File((Thread.currentThread().getContextClassLoader().getResource("")).toString().substring(6)+"config/config.xml");
- Document document=reader.read(file);
- Element rootElm=document.getRootElement();
- Element element=rootElm.element("title");
- System.out.println(file.toString());
- title=element.getText();
- name="HELLO, "+name+"!";
- return SUCCESS;
- }
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
- }
下面说说说调试的时候遇到的问题。在代码36行使用了Thread.currentThread().getContextClassLoader().getResource(""))是用来查找当前的绝对路径但其前面有file:/所以需要裁剪掉。这里为什么使用绝对路径呢?在用Junit进行单元调试的时候,不使用绝对路径在执行下一条语句的时候 Document document=reader.read(file);可以正常的运行通过。但是在使用tomcat进行调试的时候,就会出现问题。之后通过打印其使用相对路径后的程序认为的绝对路径是错误的,它会默认到eclipse所在的目录。所以在这里我强制使用了绝对路径去定位,问题得到解决。
继续开始下一步的探索啦~
希望对初学者有用~
- 第1、2、3天笔记
- java 第3天笔记
- JAVASE第3天笔记
- JAVASE第2天笔记
- 第一行代码+Android+第2版 笔记第二天
- C++标准程序库 笔记:第2章,第3章
- Android《第一行代码》第1~3章 笔记
- Java 复习笔记_第3天
- Java 复习笔记_第3天
- Java 复习笔记_第2天
- Java 复习笔记_第2天
- 黑马程序员------第2天笔记
- Bootstrap学习笔记(实习第2天)
- Linux学习笔记第2天
- Java 复习笔记_第1天
- css+div学习笔记第1天
- Java 复习笔记_第1天
- 黑马程序员------第1天笔记
- zz话说找工作:言谈如斯可为师
- [系统] 体验 Memcache_engine (含测试)
- eclipse中集成jad反编译
- 动态添加DropDownButton和TooltipDialog
- Oracle失败── 用户错误
- 第1、2、3天笔记
- NKOJ 1236 a^b
- JSP乱码解决大全
- 今天终于解决tfs问题.
- ~加菲猫语录~
- visual c# 修改和删除数据记录
- 开通博客的第一天
- 推荐一个IE下的优秀js调试工具(Companion.JS)
- 懒惰” Linux 管理员的 10 个关键技巧