J2EE开发心得

  1. eclipce中新建Dynamic web的版本号必须与Tomcat版本号匹配,通常Tomcat7.0左右配Dynamic web3.0以下,不然会no service can be run      以下是修改工程版本方法:

workspace-jee\项目名称\.settings\org.eclipse.wst.common.project.facet.core.xml这个配置文件,将<installed facet="jst.web" version="3.0"/> 只要将version="3.0"改成version="2.5",然后重启eclipse即可

  1. 再跟视频敲代码时一定要细心

 

  1. 在包下建Filter:new---》Filter---》name---》next---》输入*.action--->ok-->finish

 

  1. 工作原理:由index。Jsp生成一个类似超链接的语句  点击后跳转到另外一个页面,这中间依靠的就是FilterDispatcher   

以下是FilterDispatcer 源码:

package FilterTest;

 

import java.io.IOException;

 

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletRequest;

 

/**

 * Servlet Filter implementation class FilterTest

 */

public class FilterTest implements Filter {

 

public void destroy() {

 

}

 

 

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

HttpServletRequest req=(HttpServletRequest) request;

String serveletPath = req.getServletPath();

String path = null;

 

if("/product-input.action".equals(serveletPath)){

path="page/input.jsp";

}

if("/product-save.action".equals(serveletPath)){

//获取请求参数

String name=request.getParameter("name");

String sex=request.getParameter("sex");

int num=Integer.parseInt(request.getParameter("num"));

//封装为student类

Student  s=new Student(name, sex, num);

//执行保存操作

System.out.println("Save Student:" + s);

//s.setName("HelloWorld");

//将s保存到request中

request.setAttribute("s", s);

path = "page/detais.jsp";

}

 

if(path!=null){

request.getRequestDispatcher(path).forward(request, response);

return;

}

chain.doFilter(request, response);

 

}

 

public void init(FilterConfig fConfig) throws ServletException {

 

}

 

}

 

  1. 带参构造器  get、set方法
  2. http://struts.apache.org/
  3. 配置struts环境:

通用方法:Apache官网下载的Struts2压缩文件中有相应的范例,导入jar包,配置web.xml文件都可以参考里面的范例

(一)导入对应jar包:

 

  • 配置WEB-INF下的web.xml文件

范例:E:\JavaEE\OpenSource\struts-2.5.16-all\struts-2.5.16\apps\struts2-rest-showcase\WEB-INF\中的web.xml

----》复制filter标签对----》粘到自己的web.xml文件中  注:filter标签对是放在Web-App标签对里

配置好后:

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="starter" version="2.4"

         xmlns="http://java.sun.com/xml/ns/j2ee"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">"

 id="WebApp_ID"  version="2.5">

 

  <!-- Filters -->

  <!-- START SNIPPET: filter -->

    <filter>

        <filter-name>action2</filter-name>

        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>

    </filter>  

    <!-- END SNIPPET: filter -->

 

    <filter-mapping>

        <filter-name>action2</filter-name>

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

    </filter-mapping>

    </web-app>

 

 

 

  • 添加DTD约束

配置包下面的struts.xml文件:直接收索struts.xml  复制到src下---》打开struts.xml:

在struts.xml文件复制以下地址

 

Window----》XML----》XML Catalog----》Add---》将复制好的地址贴到Key上  KeyType修改为URL

  

 

 

 点击File System   搜索struts-2.5.dtd  搜到后点击---》OK

 

 

  •  
  1. Eclipse 替换选中的代码:  Ctrl+f

 

 

  1. 可能是缓存的问题

 

 

  1. 成功后的目录如下:

 

 

 

 

1)StudentAction实现了一个接口:ModelDriven<Student>

这个接口的重写了以下方法,作用使得泛型类的对象传给valuestack,一旦传给valuestack,在detais.jsp页面就可以通过属性名直接获取input.jsp上的参数值

 

2)Struts中的配置如下,涉及的知识:占位符(通配符)、<action>标签对包含的属性:name+method+class、<result>标签对

 

 

 

 

  1. 尽量不要用info,info应该是关键字
  2. 读取Package Explorer的src下面的.xml/。File文件

String resource = "mybatis-config.xml";

InputStream is = Resources.getResourceAsStream(resource);

根据不同需要  在采取不同的方式

Property/

  1. XML中<beans>中属性概述

 

 

 

14、前期报错是因为没有使用占位符并且在queryForObject()中重复定义username导致报1>0的错误

 

 

 

                                              

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值