问:编写一个struts2框架应用的action,该action将一个字符串“abc”存入session,并命名为str;
答:讲解struts2框架的action强调的是同servlet API完全分离,显得于struts1是一个巨大进步,这种飞耦合性,给开发者的测试提高了便利。但是,struts2框架中有一个ActionContext类,该类包含所有将会访问的数据,struts2框架的action可通过访问ActionContext来获得Servlet API
代码: public String execute(){
HttpServletReqest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
HttpSession session=request.getSession();
session.setAttribute("str","abc");
return SUCCESS;
}
问:编写一个Hibernate应用。假设有1个mysql数据库表customer,其中有字段:id、name、age、job。并已经建立好了一个实例化类customer,配置文件Customer.hbm.xml和hibernate.cfg.xml都已经做好的相应配置,请你写1个测试程序,插入一条记录
public class TestAction(){
public static void main(String[] arg){
SessionFactory sf=new Configuration().coufigure().buildSessionFactory();
Session session=sf.opensession();
Transaction ts=session.beginTrasaction();
Customer cs=new Customer();
sc.setName("tony");
sc.setAge("18");
sc.setJob("IT");
session.save(sc);
t.commit();
session.close();
}
}
问:编写一个简单的struts2框架应用,在jsp页面输出
代码:action类public class helloworld(){
private String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String execute(){
setMsg("hello world");
return SUCCESS;
}
}
配置文件
<action name="Helloword" class="helloworld">
<result name="success">/helloworld/success.jsp</result>
</action>
jsp界面
<%@ taglib prefix="s" uri="struts-tags">
<s:property value="msg"/>
问:singletion模式
答:public class singleton(){
private singleton(){};
private final static singleton instance=new singleton();
public static singleton getInstance(){
return instance;
}
}
public class singleton(){
private static singleton instance=null;
public static singleton getInstance(){
if(instance ==null){
instance =new singleton();
}
return instance;
}
}
问:4线程,2加2减
package com.test;
public class ThreadTest {
/**
* @param args
*/
private int j;
public static void main(String[] args) {
// TODO Auto-generated method stub
ThreadTest tt=new ThreadTest();
Inc inc=tt.new Inc();
Dec dec=tt.new Dec();
for (int i = 0; i < 2; i++) {
Thread t=new Thread(inc);
t.start();
t=new Thread(dec);
t.start();
}
}
private synchronized void inc(){
j++;
}
private synchronized void dec(){
j--;
}
class Inc implements Runnable{
public void run(){
for (int i = 0; i < 100; i++) {
inc();
}
}
}
class Dec implements Runnable{
public void run(){
for (int i = 0; i < 100; i++) {
dec();
}
}
}
}