软件技术复习

第1章 Web前端基础

基本标签

作用 标签
标题 <h1> - <h6>
段落 <p align=“center”>
滚动 <marquee direction=“滚动方向” behavior=“滚动方式”>
无序列表 <ul type=“disc”></ul>
有序列表 <ol type=“1”></ol>
图片 <img src=“图像文件的路径及名称”>
超链接 <a href=“链接路径” target=“目标窗口的打开方式”>
表格 <table><tr><td></td></tr></table>
表单 <form action=“表单的处理程序”></form>
文本框与密码框 <input type=“text” value="" name=“username”/>
<input type=“password” value=“123456” name=“password”/>
单选按钮与复选框 <input type=“radio” value=“male” name=“sex” checked/>
<input type=“checkbox” value=“zhangsan” name=“lover” checked/>
按钮 <input type=“submit” value=“提交” />
<input type=“reset” value=“重置” />
<input type=“button” value=“关闭” οnclick=“window.close()” />
文件域 <from action="" enctype=“multipart/form-data”>
<input type=“file” name=“fileName”/>
</from>
下拉列表 <select name=“cities” size=“2” multiple>
<option value=“beijing” selected>北京
<option value=“shanghai” selected>上海
</select>
文本域 <textarea name=“文本域的名称” cols=“列数” rows=“行数”></textarea>

第2章 Java Web环境的构建

第3章 JSP语法

作用 写法
HTML注释 <!-- HTML注释 -->
JSP注释 <%-- JSP注释 --%>
Java程序片 <% Java代码 %>
成员变量与方法的声明 <%! 变量或方法定义 %>
Java表达式 <%= 表达式 %>

第4章 JSP内置对象

request对象

包名: javax.servlet.http.HttpServletRequest

方法 功能说明
Object getAttribute(String name) 返回指定属性的属性值
String getParameter(String name) 返回name指定的参数值
void setAttribute(String key, Object obj) 设置属性的属性值

转发: request.getRequestDispatcher(“hello.jsp”).forward(request, response);

response对象

包名: javax.servlet.http.HttpServletResponse

设置响应表头: response.setHeader(“refresh”, 3);

重定向: response.sendRedirect(String url);

session对象存取数据

方法 功能说明
public void setAttribute(String key, Object obj) 将参数obj指定的对象保存到session对象中
public Object getAttribute(String key) 获取session中关键字是key的对象
public void removeAttribute(String key) 从session中删除关键字key所对应的对象

application对象

任何用户共享一个application对象,直到服务器关闭,这个application对象才被取消。

pageContext对象

即页面上下文对象,表示当前页面运行环境,用于获取当前JSP页面的相关信息,他的作用范围为当前JSP页面。

page对象

page对象是一个与Servlet有关的内置对象,它表示JSP文件转译后的Servlet对象,代表JSP页面本身即this。因此它可以调用Servlet类所定义的方法。

JSP的四种作用域

  1. 页面域

    页面执行期间。存储在页面域的对象只能在它所在页面被访问。

  2. 请求域

    一次请求过程。包括请求被转发或者被包含的情况。存储在请求域中的对象只有在此次请求过程中才可以被访问,多次请求都可以被访问。

  3. 会话域

    客户端与服务器所连接的时间。客户端在第1次访问服务器时创建会话,在会话过期或用户主动退出后,会话结束。存储在会话域中的对象在整个会话期间(可以包含多次请求)都可以被访问。

  4. 应用域

    服务器开始执行到服务器关闭为止,是4个作用域中时间最长的。存储在应用域中的对象在整个应用程序运行期间可以被所有JSP和Servlet共享访问。

JSP的4种作用域分别对应pageContext、request、session和application 4个内置对象。

第5章 JSP与JavaBean

首先使用page指令的import属性导入创建bean的类,例如:

<%@ page import="com.bean.*"%>

useBean

<jsp:useBean id="bean的名字" class="创建bean的类" scope="bean的有效范围"/>
<jsp:useBean id="bean的名字" type="创建bean的类" scope="bean的有效范围"/>

getProperty

<jsp:getProperty name="bean的名字" property="bean的属性" />

setProperty

<jsp:setProperty name="bean的名字" property="bean的属性" value="字符串" />

第6章 Java Servlet基础

继承javax.servlet.http.HttpServlet

部署Servlet类的两种方式:

  1. 在web.xml(WEB-INF文件夹下)中部署Servlet
  2. 基于注解的方式部署Servlet

在web.xml中部署Servlet

<servlet>
	<servlet-name>firstServlet</servlet-name>
    <servlet-class>servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>firstServlet</servlet-name>
    <url-pattern>/firstServlet</url-pattern>
</servlet-mapping>

基于注解的方式部署Servlet

@Webservlet(name = "secondServlet", urlPattern={
    
    "/secondServlet"})
public class SecondServlet extends HttpServlet {
    
    
}

重定向与转发

  1. 转发

    服务器端操作,地址栏显示之前的请求地址,以前的request中存放的信息不会失效。

  2. 重定向

    客户端操作,以前的request中存放的信息全部失效,并进入一个新的request作用域。

通过JSP页面访问Servlet

1. 通过表单访问Servlet

<form action="isLogin" method="post">
	……
</form>

该action是一个Servlet, @WebServlet的urlPatterns属性值为{"/isLogin"}

2. 通过超链接访问Servlet

<a href="loginServlet?user=tyx&&pwd=123">查看用户名和密码</a>

这个超链接就将user=tyx和pwd=123两个信息提交给Servlet处理

第7章 会话跟踪技术

Cookie技术

Cookie vistedCountC = new Cookie("vistedCount", "1000");

设置Cookie对象的存活时间(以为单位):setMaxAge(int time)

  • 时间为正整数,表示其存活的秒数;
  • 若为负数,表示其为临时Cookie(在浏览器关闭时失效);
  • 若为0,表示通知浏览器删除相应的Cookie对象。

不同浏览器不共享

Session技术

HttpSession对象将在用户第1次访问服务器时由容器创建(只有访问JSP、Servlet等程序时才会创建,只访问HTML、image等静态资源并不创建

URL重写技术

  • URL重写是指服务器程序对接收的URL请求重新写成网站可以处理的另一个URL的过程,URL重写技术是实现动态网站会话跟踪的重要保障。

  • 当不能确定客户端浏览器是否支持Cookie的情况下,使用URL重写技术可以对请求的URL地址追加会话标识,从而实现用户的会话跟踪功能。

  • 要保证每个页面都必须使用Servlet或JSP动态页面。

  • 可以通过encodeURL()方法和encodeRedirectURL()方法实现URL重写,其中encodeRedirectURL()方法主要对使用sendRedirect()方法的URL进行重写。

  //对重定向的URL进行重写
  String encodeURL = response.encodeRedirectURL("toRedirectServlet");
  response.sendRedirect(encodeURL);

第8章 过滤器与监听器

Filter

  • 响应优先级高于Servlet
  • 可以拦截服务器中的任意资源(jsp,html,jpg,servlet)

实现javax.servlet.Filter接口

在web.xml中部署过滤器

<filter>
	<filter-name>firstFilter</filter-name>
    <filter-class>filter.FirstFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>firstFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

基于注解的方式部署过滤器

@WebFilter

doFilter()方法

chain.doFilter(request, response);

如果执行了该语句,就会执行下一个过滤器。如果没有下一个过滤器,就返回请求目标程序。如果因为某个原因没有执行该语句,则请求就不会继续交给以后的过滤器或请求目标程序,这就是所谓的拦截请求。

过滤器的执行顺序

  1. 先执行web.xml中配置的(按配置的先后顺序)
  2. 先看名字的长度,名字长的先执行
  3. 名字长度相等,按字典序执行

第9章 EL与JSTL

JSP标准标签库JSTL

标签 作用
<c:out> 显示数据的内容
<c:set> 设置作用域变量
<c:remove> 删除某个变量
<c:if>
<c:choose>
<c:when>
<c:otherwise>
流程控制
<c:forEach> 迭代
<c:forTokens> 迭代字符串中由分隔符分隔的各成员
<c:url>
<c:redirect>
<c:import>
URL操作相关

第10章 文件的上传与下载

文件上传的表单设置

<form action="Upload" method="post" enctype="multipart/form-data">
    <input type="file" name="headImage"><br>
    <input type="submit" value="上传">
</form>

Servlet写法

单文件

@WebServlet("/Upload")
@MultipartConfig(maxFileSize = 10*1024*1024)
public class Upload extends HttpServlet {
    
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        Part part = request.getPart("headImage");
        File uploadFileDir = new File(getServletContext().getRealPath("/uploadFiles"));
        part.write(uploadFileDir + File.separator + name);
    }
}

多文件

File uploadFileDir = new File(getServletContext().getRealPath("/uploadFiles"))
Collection<Part> parts = request.getParts();
for (Part part: parts) {
    
    
    part.write(uploadFileDir + File.separator + name);
}

第11章 JDBC数据库访问

步骤:

  1. 注册驱动
  2. 创建连接
  3. 写SQL语句
  4. 执行SQL语句
  5. 获取结果
  6. 关闭连接

注册数据库驱动程序

try {
    
    
    Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
    
    
    e.printStackTrace();
}

和指定的数据库建立连接

try {
    
    
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8", "用户名", "密码");
} catch (SQLException e) {
    
    
    e.printStackTrace();
}

数据库记录从后往前滚动

Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
……
rs.last();
int rowNumber = rs.getRow();
rs.afterLast();
while(rs.previous()) {
    
    
    ……
}

数据库连接池

为数据库连接建立一个缓冲池,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从缓冲池中取出一个,使用完毕再放回去。

第12章 Ajax JSON以及Jquery技术

GET请求

xmlhttp.open("GET", "AjaxTestServlet", true);
xmlhttp.send();

POST请求

xmlhttp.open("post", "AjaxTestServlet", true);
xmlhttp.send();

JSON

{
    
    
	key1: value1,
    key2: value2,
    key3: [value1, value2],
    ……
}

JQuery

$(selector).action()

猜你喜欢

转载自blog.csdn.net/Eimhin_Tang/article/details/106751120
今日推荐