j2ee期末复习概要

这篇文章是对毛老师给的期末复习要点的归纳整理,希望对大家有帮助,也请指正我的错误。



•Html中的form基本语法和应用。超链接,table,事件

用户
密码

女性 男性 体育 音乐 文学


method表单传输方法

GET方法将表单信息在URL后传输
POST方法将表单信息作为信息体传输(安全性高)
action为表单处理方式,通常为一个URL


超链接:

click here

在新的窗口中打开网页ezio.html

_self ">click here

>click here

在当前窗口中打开网页ezio.html


嗯,如果用到了框架的话

ezio ">click here

那么网页会在这个框架中打开


差点忘了还有这个

艾吉奥
二太爷
嗯...
天鹰座α星我会乱说?

锚记标签使用户“跳”到文档的某个部分 ,那个啥,就是百度百科那种吧


ps:Ezio Auditore Da Firenze 刺客信条2代主角(= =好吧这不重要)


table:


这没啥好说的


事件:

鼠标移动,双击,单击之类的吧

ppt3的44页


•JavaScript的语法

这个啥,看老师的ppt3比较快捷

几个注意点








上面的值依次是2,32,5,3+2,5,32


•Form中get和post方法区别,url地址
官方回答:
get 方法将数据打包放置在环境变量 QUERY_STRING 中作为 URL 整体的一部分传递给服务器。
post方法分离地传递数据给服务器表单处理程序,不需要设置QUERY_STRING环境变量,因此POST有更好的安全性,表单中数据的多少是任意的,因为这些数据从来也不分配到一个变量里。  

•一个servlet文件的基本结构?
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet extends HttpServlet {
  public void doGet(HttpServletRequest request,     //或者是doPost
                    HttpServletResponse response)
      throws ServletException, IOException {
	request.getParameter("参数名");
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    out.println("html文本内容");
  }
}

诶,大概就是这样吧


•Html,jsp注释标记?
html:

jsp:

java代码部分用 //

html部分用

诶,还是举例子吧


<%
 int a=0;  //我是注释
%>

期末无力啊

<%=a%>

•获取参数的方法?
纳尼???


•编译servlet时,注意servlet-api.jar的存放位置?Web.xml文件
servlet-api.jar是指引用的jar包吧?

像javax.mail.jar和mysql-connector-java-5.1.7-bin.jar这种把

一般是放在根目录下WEB-INF/lib中

web.xml的位置:

根目录下WEB-INF中


•Cookie的常用方法
从HTTP请求中获得的cookie是一个数组
                //从request中解析cookie
		Cookie[] cookies=request.getCookies();
		Cookie cookie0=cookies[0];
		String cookieName=cookie0.getName();
		String cookieValue=cookie0.getValue();
		
		//在response中增加或修改cookie
		Cookie cookie2=new Cookie("cookie2","22");
		cookie2.setMaxAge(60*60); //存在时间,单位是秒
		cookie2.setDomain("/");  //cookie的作用范围
		response.addCookie(cookie2);



•Session

ppt7 第13页开始,很详细


•JSP变量的应用,引入文件

引入文件:
静态包含
<%@ include file="relativeURL"%>
比如:
<%@ include file="test.jsp"%>

被包含的文件可以是JSP文件、HTML文件或文本文件

动态包含


•静态包含:①主JSP文件转换成servlet时,将被包含文件插入到主页面中。
   ②只要被包含文件发生更改,就更改主JSP文件。
           ③一个Servlet文件

•动态包含: ①被包含的内容发生了更新,但不改变包含该内容的主JSP页面。 
            ②两个Servlet文件

•主文件和被包含文件都共享请求范围内的共享数据
•静态包含通常包含不发生变化的网页
•动态包含通常包含发生变化的网页

还有的就是静态包含中,两个文件可以相互访问对方的局部变量,而在动态包含中是不行的



变量的应用:

ppt上的例子,变量声明的两种方法

<%! int hitcount=0;%>
<% int count=0; %>

hitcount=<%= hitcount++ %>

count=<%= count++ %>

结果是每刷新一次页面,hitcount数值会加一,换个浏览器也会从之前的数晚上叠加

count的值一直为0

以下是原因:

实例变量:一个JSP文件对应一个JSP实例,只有一个hitcount实例变量

局部变量:局部变量在方法中定义,Servlet容器每次调用jsp服务方法时,java虚拟机为局部变量分配内存,创建一个新的局部变量,方法执行完,会销毁该局部变量。


•JSP javabean的语法
一个基本的javabean例子
public class CounterBean{
	public CounterBean(){}
	public int getCount(){
		return count;
    }
	public void setCount(int count){
		this.count=count;
	}
	private int count=0;
}

需要有一个无参数的构造函数,不写也行

实例变量必须为private

有set和get的方法


jsp访问javabean的语法

1.导入

<%@page import="mypack.CounterBean"%>

2.声明

<jsp:useBeanid="myBean"

class="mypack.CounterBean"scope="session" />

3.得到某个属性

<jsp:getPropertyname="myBean"property="count" />

4.设置某个属性

<jsp:setPropertyname=“myBean”property=“count” value=“0” />

5.jsp:setProperty将所有属性与同名输入参数关联

现在有一个javaBean SaleEntry,假设它有两个属性name,price

请求参数中也有一个name和price

property="*" />

这两行代码就可以将request中的name和price的值赋给SaleEntry对象中的name和price

下面是一个完整的例子

settax.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>




  
    
    成绩设置
 

  
  
  
    	

成绩设置

姓名:
成绩:

UseBean,jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>




  
    显示成绩

  
  
  
     

成绩

<% request.setCharacterEncoding("UTF-8"); %> 姓名:
成绩:

这里将拆开写成两句分别设置属性也是可以的

实例图:

settax.jsp页面

j2ee期末复习概要_第1张图片

UseBean.jsp的页面


这里就没有用到request来得到参数,十分简便


•Javabean的几种存储范围
´page(默认值)
JavaBean 对象在以下两种情况下都会结束生命期:
a. 客户请求访问的当前 JSP 网页通过 标记将请求转发到另一个文件
b. 客户访问的当前 JSP 页面执行完毕。
例:
´ 如果 page1.jsp 把请求转发给 page2.jsp ,则 page2.jsp 无法访问到 page1.jsp 页面范围内的 JavaBean 对象。
用户每次刷新page1.jsp都是一个新的javaBean

´request
´ 客户每次请求访问 JSP 页面时,都会创建新的 JavaBean 对象。 JavaBean 对象的有效范围为:
´ 客户请求访问的当前 JSP 网页和当前 JSP 网页共享同一个客户请求的网页,即当前 JSP 网页中 <%@include> 指令以及 标记包含的其他 JSP 文件
´ 当所有共享同一个客户 请求 JSP 页面执行完毕, JavaBean 对象结束生命周期。
´ JavaBean 对象作为属性保存在 HttpRequest 对象中,属性名为 JavaBean id ,属性值为 JavaBean 对象,因此也可以通过 HttpRequest.getAttribute () 方法取得 JavaBean 对象,如:
CounterBeanobj = (CounterBean)request.getAttribute(“myBean”);

´session
´ JavaBean 对象被创建后,它存在于整个 Session 的生存周期内,同一个 Session 中的 JSP 文件共享这个 JavaBean 对象。

´application
´JavaBean对象被创建后,它存在于整个Web应用的生命周期内,Web应用中的所有JSP文件都能共享同一个JavaBean对象。
´JavaBean对象作为属性保存在application对象中,属性名为JavaBeanid,属性值为JavaBean对象,可以通过JavaBeanid直接引用JavaBean对象外,也可以通过application.getAttribute() 方法取得JavaBean对象

CounterBeanobj=(CounterBean)application.getAttribute("myBean")


•Tomcat的端口号发生冲突时,怎么处理?

tomcat根目录/conf/server.xml

 

改port的值就行了


•JDBC连接和操作数据库。
诶?好广泛...那就直接上代码吧

首先在WEB-INF/lib中放入jar包

mysql-connector-java-5.1.7-bin.jar

这样子,网上都有下


在应用根目录下META-INF建立一个context.xml



    


jsp示例

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.* "%>
<%@ page import="java.io.*"%>
<%@ page import= "javax.naming.Context" %>
<%@ page import="javax.sql.DataSource" %>
<%@ page import="javax.naming.InitialContext" %>




      
    My JSP 'dbtest2.jsp' starting page
  
  
   
   <%
try{
     ResultSet rs;
     Context ctx = new InitialContext();
     if(ctx == null )
         throw new Exception("No Context");
     DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/BookDB");
     Connection con=ds.getConnection();
     Statement stmt=con.createStatement();
     rs = stmt.executeQuery("select ID,NAME,TITLE,PRICE from BOOKS");

    //输出查询结果
    out.println("
"); while (rs.next()){ String col1 = rs.getString(1); String col2 = rs.getString(2); String col3 = rs.getString(3); float col4 = rs.getFloat(4); out.println(""); } out.println("
"+col1+""+col2+""+col3+""+col4+"
"); //关闭数据库连接 rs.close(); stmt.close(); con.close(); }catch(Exception e){out.println(e.getMessage());} %>


一些常用的sql语句

select ID,time,cardType,content,orderer,state,tel,address from orderlist where state='notSent' order by time

以时间的顺序从表orderlist中取出所有列state的值为notSent的列ID,time.......

insert into user(ID,username,password) values(null,'obi','123abc')

在user的表中增加一行,这里ID的null,是先前设置了列ID为主键并且自增长,例:如果上一行的ID为3,那么这里添加进去,数据库默认加ID值设置为4

update user set password='1234' where username='obi'

更新数据
多个的话用逗号隔开set password='1234',address='shanghai'

delete from user where ID='1'

删除


•JavaMail E-mail协议 SMTP,POP3 ,IMAP

POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。

IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。










你可能感兴趣的:(考试总结)