叙述题:

每小题5分共30分

一:请简述javaEE的核心思想?

javaEE为满足,开发多层体系结构的企业及应用的需求,提出了“组件-容器”的编程思想

二:jsp在javaEE中有什么作用?

1.概念:
        JSP(全称 Java Server Pages)是由 Sun 公司专门为了解决动态生成 HTML 文档的技术。

2.:部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。

3:JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
 

三:servlet在javaEE中的作用?

1:Servlet 运行在服务端的Jav a小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。

2:servlet的实质就是java代码,通过java的API 动态的向客户端输出内容

四:为什么需要表达式语言?

1:JSP2.0之后不建议使用 JSP表达式和JSP脚本片段,建议使用EL代替JSP表达式,使用JSTL代替JSP脚本片段。

2:使用表达式语言可以方便的访问JSP的隐含对象和JavaBeans组件,在JSP 2规范中,建议尽量使用表达式语言使JSP文件的格式一致,避免使用java脚本。

3:表达式语言可用于简化jsp页面的开发,允许美工设计人员使用表达式语言的语法获取业务逻辑组件传过来的变量值

五:Ajax包含那些技术?

1.异步数据获取技术,使用XMLHttpRequest.
2. 基于标准的表示技术,使用XMLTML与CSS
3.动态显示和交互技术,使用Document Object Model(文档模型技术)
4.数据交换和操作技术,使用XML与XSLT。

5.javaScript,将以上技术融合在一起。

六:简述mvc思想?

MVC思想体现了“关注点分离”这一基本方针,它将一个人机交互的应用涉及的功能分为Model、Controller、View三部分,他们各自的职责如下。

 Model是对应用状态和业务功能的封装,我们可以将它理解为同时包含数据和行为的领域模型(Domain Model),Model接收Controller的请求并完成相应的业务处理,在应用状态改变的时候可以向View发出相应的通知。
 View实现可视化界面的呈现并最终捕获用户的交互操作(如鼠标、键盘操作);
 View捕获到用户的交互操作后直接发给Controller,Controller完成相应的UI逻辑。如果需要涉及业务功能的调用。

Controller会直接调用Model.在完成UI处理之后,Controller会更加需要控制原View或者创建新的View对用户交互操作予以响应
 

程序设计题

一:请设计一个表单提交页面login.jsp,功能实现如图

javaee知识点 javaee期末知识点_servlet

10分

<body>

<form action=" login.jsp" method="post">

请输入账号:<input name=" account" type=" text"><br>

请输入密码:<input name="password" type="password"><br>

请选择性别:<input name=" sex" type=" radio" value="boy" checked>男

                 <input name=" sex" type=" radio" value="girl" >女<br>

<input  type="submit" value="注册">

</form>

</body>

二:请使用过滤器实现一个EncodeLogin.java来实现解决中文乱码问题,并编写相应的web.xml文本。

10分java.class 编写

package edu.zhku.filter;

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;
import javax.servlet.http.HttpServletResponse;

public class EncodingFilter implements Filter {

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
	}
	@Override
	public void doFilter(ServletRequest req, ServletResponse resp,
			FilterChain filterChain) throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest) req;
		HttpServletResponse response = (HttpServletResponse) resp;
		String method = request.getMethod();
		if (method.equalsIgnoreCase("post")){
			request.setCharacterEncoding("utf-8");
		}
		response.setContentType("text/html;charset=utf-8");
		filterChain.doFilter(request, response);
	}

	@Override
	public void init(FilterConfig filterConfig) throws ServletException {

	}
}

web.xml的相应配置10分

<filter>
		<filter-name>EncodingFilter</filter-name>
		<filter-class>edu.zhku.filter.EncodingFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>EncodingFilter</filter-name>
		<!-- 拦截路径 ,每次访问都会执行名为“EncodingFilter”的过滤器 -->
		<url-pattern>/*</url-pattern>
	</filter-mapping>

三:使用表达式语言,来取值(每小题3分,共15分)

1cookide 中的msg?

${cookie.msg}

2xml中的msg?

${initParam.msg}

3request中的msg?

${requestScope.msg}

4page中的msg?

${pageScope.msg}

5session中的msg?

${sessionScope.msg}

四:编写一个登录页面login.jsp,要求账号密码相等则显示,“登录成功”,否则“登录失败”,提交后页面不刷新。10分

<script type="text/javascript">
	function login() {
		//接收一个用户名
		var account = document.myForm.value;
		var password = document.myForm.value;
		//声明一个xmlhttpReq对象
		var xmlhttp;
		try{
			xmlhttp=new ActiveObject("Microsoft.XMLHTTP");
		}catch(e){
			xmlhttp=new XMLHttpRequest();
		}
		//连接服务器
		xmlhttp.open("post","loginServlet?uname="+account+"&password="+password,true);
		//设置回调函数
		xmlhttp.onreadystatechange=function(){
			//判断请求响应结束
			if(xmlhttp.readyState==4&&xmlhttp.status==200){
					var str = xmlhttp.responseText;
					if(account==password){
						document.sp.innerHTML="登录成功";
					}else{
						document.sp.innerHTML="登录失败";
					}
				
			}
		}
		//发送
		xmlhttp.send(null);
	}
</script>
<body>
<div name="sp">
	<form name="myForm" action="xxx.jsp">
		用户名:<input type="text" name="account"><br>
        密码:<input type="password" name="password"><br> 
             <input type="submit" value="登录"  onblur="login()"> 
	</form>
</div>
</body>

五:编写相应的DAO判断在student表中,用户是否存在10分

package jdbc;
import java.sql.*;
import java.util.Scanner;
public class demo02 {

String url="jdbc:mysql://localhost:3306/student";
String user="root";
String password="XXXXXX";

public  int exceitOfUser(String account,String password) throws ClassNotFoundException, SQLException {

 String sql="select count(*) from student where username=? and password=?";
 Connection conn=null;
 PreparedStatement pre=null;
 ResultSet res=null;
     try{ 
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection(url, user, password);
        pre = moyue.prepareStatement(sql);
        pre.setString(1,account);
        pre.setString(2,password);
        ResultSet resultSet = preparedStatement.executeQuery();
        return resultSet1.next()?1:0;
       }catch(Exception e){
       }finally{
        res.close();
        pre.close();
        conn.close();

       }
        
    }
}