strus期末考试复习题
- 格式:doc
- 大小:255.00 KB
- 文档页数:15
配置tomcat工作目录(1)在webapps目录下配置工作目录①在Tomcat安装目录下的webapps目录下新建自己的程序目录myjsp。
②将webapps—>root目录下的WEB-INF连同其下的文件一起拷至myjsp下。
③在myjsp下编写你的第一个JSP文件myfirst.jsp。
内容如下:<%out.print(―my first jsp test‖);%>④在浏览器地址栏中输入地址:http://localhost:8080/myjsp/myfirst.jsp进行访问。
(2)在其他位置配置工作目录①在webapps目录外任何你需要的地方(如E盘根目录)新建自己的程序目录myjsp。
②将webapps—>root目录下的WEB-INF连同其下的文件一起拷至myjsp下。
③将刚刚编写的myfirst.jsp文件拷至该目录下。
④打开webapps->conf目录下的server.xml在<Host></Host>标记之间添加如下代码:<Context path=‖/test‖ docBase=‖E:\myjsp‖ debug=‖0‖ reloadable=‖true‖ crossContext=‖true‖></Context>注:上条语句一定要注意大小写,更改了配置文件server.xml后一定要重启tomcat服务。
/test处可换成任意自己想要的名字,docBase后面跟的是你的程序目录的物理路径。
④在浏览器地址栏中输入地址:http://localhost:8080/test/myfirst.jsp进行访问。
简单交互●<%●String name=request.getParameter("name");●String pwd=request.getParameter("password");●if(name.equals("aa")&&pwd.equals("aa"))●out.print("欢迎您aa");●else●out.print("登陆失败");●%>JSP代码-变量和方法的声明●<%!●int i=0;●public int add(int x,int y)●{●return x+y;●}●%>JSP内置对象●Out.print println●Request.getParameter getParameterValues●Response.sendRedirect(―URL‖)●Session setAttribute() getAttribute() removeAttribute()资料● 1 Web应用共享数据区ServletContext接口●ServletContext接口表示一个web应用的上下文。
可以想象成一个web一个能用的共享数据区域,该区域保存整个web共享数据。
● 1.1 Servlet容器何时创建ServeltContext接口实现类●当一个web应用启动的时候,就会创建该ServletContext接口的实现类。
我们可以在根据需求,读写ServletContext这个web共享区的数据,那么如何获得ServletContext这个实例呢?下面提供了两种方法● 1.2 如何获得ServletContext接口实例●方法1:可以通过ServletConfig接口的getServletContext()方法获得●方法2:通过GenericServlet抽象类的getServletContext()方法获得,不过这个方法其实也是调用了ServletConfig的getServletContext()方法getRequestDispatcher() vs sendRedirect()1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ;response.sendRedirect()是重新定向前后页面不是一个request .2.RequestDispatcher.forward()是在服务器端运行;HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成.所以RequestDispatcher.forward()对于浏览器来说是―透明的‖;而HttpServletResponse.sendRedirect()则不是。
3.ServletContext.getRequestDispatcher(String url)中的url只能使用绝对路径;而ServletRequest.getRequestDispatcher(String url)中的url可以使用相对路径。
因为ServletRequest具有相对路径的概念;而ServletContext对象无次概念●request.getRequestDispatcher().forward(request,response)是?●response.sendRedirect()和request.getRequestDispatcher().forward(request,response)的区别?redirect 会首先发一个response给浏览器然后浏览器收到这个response后再发一个requeset给服务器然后服务器发新的response给浏览器. 这时页面收到的request是一个新从浏览器发来的.forward 发生在服务器内部, 在浏览器完全不知情的情况下发给了浏览器另外一个页面的response. 这时页面收到的request不是从浏览器直接发来了,可能己经放了数据三、JavaBean连接数据库(1)不用javabean直接连接数据库mysql2.jsp (2)使用javabean连接数据库mysql.jspJsp中连接数据库步骤:●1、注册驱动程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");●2、创建conncetion对象connect=DriverManager.getConnection(sConnStr);●3、创建Statement对象Statement stmt=connect.createStatement();●4、创建ResultSet 对象,执行相应sql语句ResultSet rs=stmt.executeQuery(sql);hibernate1、要明确的理论基础(以前讲过):使用tomcat服务器(1)所有的jar文件都需要放在/WEB-INF/lib下(2)所有的.class文件都需要放在/WEB-INF/classes下,或classes下的某个子文夹下。
2、Hibernate基础知识:要说明的:在myeclipse中,所有的src文件夹下对应的java文件或其他配置文件,myeclipse都会将其自动编译后放至/WEBROOT/WEB-INF/classes下。
举例:Src下有form包,form包下有LoginForm.java。
则将LoginForm.java保存后,myeclipse会自动生成对应的LoginForm.class文件,并放至/WEBROOT/WEB-INF/classes/form文件夹下。
教科书中没有这么讲的,为了方便同学们理解,做如上总结。
希望大家能够看明白。
本说明中,如果有任何看不明白的地方,请及时和我或科代表联系以便进行修正。
请大家务必课后多下功夫弄明白。
下面的配置很繁琐,但是如果有了之前tomcat配置的基础和上面我说的这两点,下面的操作就很容易理解了。
(好罗嗦啊。
不过看到同学们都不会真的很着急。
)(1) hibernate配置建立web项目,添加以下jar包:Hibernate3.jarHibernate中lib路径下所有的jarslf4j-log4j12-1.5.2.jarlog4j-1.2.15.jarmysql-connector-java-3.1.14-bin.jar①位置根据1中的第(1)条,以上jar文件应该导入到/WEB-INF/lib下②操作方法在lib上右键,选择import,找到以上jar文件所在的位置进行导入。
或者找到对应的jar文件,复制,然后再lib上右击,paste.(2)hibernate.cfg.xml的编写①位置对使用tomcat服务器的web应用来说,该文件应该放在classes下。
对于java项目来说,该文件应该放在classpath能够找到的目录中。
②建立的方法A.从别处复制一个hibernate.cfg.xml文件过来。
具体操作方法:找到hibernate.cfg.xml(此处的hibernate.cfg.xml可以是任何符合格式的模板,我上课的时候用的是hibernate3自带的,其路径是:hibernate-distribution-3.3.1.GA\project\testsuite\src\test\resources),点右键选复制,在web应用的src文件夹处单击右键,选择pasteB.在src处右键import,找到hibernate.cfg.xml点击finish.除用以上两种方法进行导入之外,还可以在src下新建hibernate.cfg.xml文件,无论采用哪种方式,只要里面的内容(参照课本,不过将课本中的2.0改为3.0)最终是我们需要的就可以了。
(3)User.java和User.hbm.xml的编写前面的User和数据库方案中的表名相对应(不是必需,但是是惯例)。
如此处数据库中test方案下有user表,所在我们建立的是User.java和User.hbm.xml。
如果数据库中是tabel1表,则我们应该建立Tabel1.java和Tabel1.hbm.xml. User.java中为和数据库的表列一一对应的private类型的变量,及和变量一一对应的getter和setter方法。
这种java文件我们称为持久化类。
User.hbm.xml是为User.java和user表中建立联系的。
说明User.java中的哪个变量和user表中的哪一列对应。
我们称这种xml文件为映射文件。
建立了以上的文件之后,对数据库的操作就可以转化为对User.java的操作。
之所有能够进行这样的转化,是因为有了hibernate。