- 浏览: 150233 次
- 性别:
- 来自: 彩虹之巅
最新评论
-
qq970836452:
[url][img][url][url][img][url][ ...
spring中配置声明式事务的几种方式 -
qq970836452:
[img][/img]
spring中配置声明式事务的几种方式 -
qq970836452:
[*]
spring中配置声明式事务的几种方式 -
qq970836452:
[img]||[/img][img][/img][url][u ...
spring中配置声明式事务的几种方式 -
qq970836452:
[img][/img][img][/img][url][url ...
spring中配置声明式事务的几种方式
java 代码
- <%@ page language="java" import="java.util.*" pageEncoding=""%>
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>Login</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- </head>
- <body>
- <form method="post" action="<c:url value='/servlet/LoginServlet'/>">
- your name : <input type="text" name="userName" value="${requestScope.userName}"/>
- ${requestScope.errors["userName"]}<br>
- your password : <input type="password" name="password" value="${requestScope.password}"/>
- ${requestScope.errors["password"]} <br>
- <input type="submit" name="submit" value="submit"/>
- <input type="reset" name="reset" value="reset"/>
- </form>
- </body>
- </html>
java 代码
- <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>Login</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- </head>
- <body>
- your name is ${requestScope.userName} <br>
- your password is ${requestScope.password}
- </body>
- </html>
java 代码
- <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>Login</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- </head>
- <body>
- Errors message: <br>
- ${requestScope.errorMsg}
- </body>
- </html>
java 代码
- package app;
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- import java.util.*;
- public class LoginServlet extends HttpServlet {
- /**
- * Constructor of the object.
- */
- public LoginServlet() {
- super();
- }
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- if(!invalidate(request, response)) {
- RequestDispatcher dispatcher = request.getRequestDispatcher("/Login.jsp");
- dispatcher.forward(request, response);
- return;
- }
- if(userName.equals("xuxiaolei") && password.equals("123")) {
- request.setAttribute("userName", userName);
- request.setAttribute("password", password);
- RequestDispatcher dispatcher = request.getRequestDispatcher("/ShowLogin.jsp");
- dispatcher.forward(request, response);
- } else {
- request.setAttribute("errorMsg", "userName or password error");
- RequestDispatcher dispatcher = request.getRequestDispatcher("/ErrorMsg.jsp");
- dispatcher.forward(request, response);
- }
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doGet(request, response);
- }
- public boolean invalidate(HttpServletRequest request, HttpServletResponse response) {
- boolean result = true;
- HashMap errors = new HashMap();
- setUserName(request);
- setPassword(request);
- if(userName == null || userName.length() < 1) {
- userName = "";
- errors.put("userName", "User is required");
- }
- if(password == null || password.length() < 1) {
- password = "";
- errors.put("password", "Password required");
- }
- if(errors.size() > 0) {
- request.setAttribute("userName", userName);
- request.setAttribute("password", password);
- request.setAttribute("errors", errors);
- result = false;
- }
- return result;
- }
- public void setUserName(HttpServletRequest request) {
- userName = (String) request.getParameter("userName");
- }
- public void setPassword(HttpServletRequest request) {
- password = (String) request.getParameter("password");
- }
- private String userName;
- private String password;
- }
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <servlet>
- <description>This is the description of my J2EE component</description>
- <display-name>This is the display name of my J2EE component</display-name>
- <servlet-name>LoginServlet</servlet-name>
- <servlet-class>app.LoginServlet</servlet-class>
- </servlet>
- <servlet>
- <description>This is the description of my J2EE component</description>
- <display-name>This is the display name of my J2EE component</display-name>
- <servlet-name>PreStudentView</servlet-name>
- <servlet-class>app.PreStudentView</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>LoginServlet</servlet-name>
- <url-pattern>/servlet/LoginServlet</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>PreStudentView</servlet-name>
- <url-pattern>/servlet/PreStudentView</url-pattern>
- </servlet-mapping>
- </web-app>
发表评论
-
spring中配置声明式事务的几种方式
2009-06-30 18:31 2903(1)通过TransactionProxyFactoryBea ... -
spring中AOP代理的几种方式
2009-06-24 14:45 4730部分例子摘自 spring in action (1)使用P ... -
hibernate实战(第2版)读书笔记(一)
2009-05-28 09:38 3071最近时间重读hibernate实战(第2版),哈哈,很长时间不 ... -
SWT中使用Opengl画圆的例子
2009-03-09 22:26 5378import org.eclipse.opengl.GL; i ... -
Windows下VC6配置Opengl开发环境
2009-03-05 08:14 4799最近需要了解下Opengl,于是开始鼓捣Opengl,从网上下 ... -
用SWT写的简单的通讯录
2009-01-19 12:32 1952用SWT写了个简单的通讯录,管理自己的手机号, -
用SWT做的简单的文件浏览器
2009-01-03 17:55 2881一个用swt做的简单的文件浏览器, package hell ... -
hibernate3 one-ton-one总结之关联表关联实现one-to-one
2008-11-08 19:29 1625在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3 one-to-one总结之主外键关联
2008-11-08 19:21 2601在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3 one-to-one总结之共享的关联主键
2008-11-08 19:14 2381在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3中使用hsql的sequence生成主键
2008-10-25 09:58 3065今天,想尝试下使用hsql的sequence来作为hibern ... -
js dtree的简单应用
2008-09-25 19:54 3358前几天在javaeye上看到有这样一个帖子(http://ww ... -
怎么样让ibatis原生支持C3P0
2008-09-03 08:02 2375昨天,在javaeye上看到一个帖子,http://www.i ... -
在IE和Firefox都通用的弹出对话框
2008-08-15 06:44 4443test.html <!DOCTYPE html PUB ... -
JAVA版 俄罗斯方块
2008-07-26 11:00 3778把以前写的程序拿出来晒晒 -
JAVA版 连连看
2008-07-07 20:26 6380以前写的连连看,大家共同玩下。 -
彻底解决超链接提交中文乱码问题
2008-04-26 11:08 27032在网页中的超链接,例如 <a href="/s ... -
使用JAVA在JSP中生成饼图
2008-03-25 16:27 3842通过在服务器端生成图片 然后这样在页面中的图片可以真正的跨浏览 ... -
JSP 分页
2008-02-26 12:59 2891package examples; import java. ... -
设计模式之 Visitor
2007-12-12 14:27 1410package designpattern; pub ...
相关推荐
Struts框架是一个经典的Java Web开发框架,它遵循MVC(Model-View-Controller)模式,帮助...通过以上步骤,你可以在Struts中实现表单验证,并有效地处理中文乱码问题,确保用户输入的数据质量和应用程序的稳定性。
Struts标签库提供了丰富的标签,它们可以帮助开发者轻松处理表单验证、循环、条件判断等常见的Web开发任务。 - **表单标签**:如`<s:form>`、`<s:textfield>`等,用于简化表单创建过程。 - **逻辑控制标签**:如`...
在实际应用中,`jstl.jar`和`standard.jar`通常与Struts框架一起使用,共同构建高效、可扩展的Web应用程序。它们的结合使用,可以使JSP页面更加简洁,减少Java代码的使用,提高代码的可读性和可维护性,同时也降低了...
Struts标签和JSTL(JavaServer Pages Standard Tag Library)标签是Java Web开发中的两种重要组件,...深入研究“Struts标签参考.CHM”和“jstl-1_1-mr2-spec.pdf”这两个文档,将有助于你更好地理解和运用这些技术。
- **Struts1**: 使用ActionForm来封装表单数据。ActionForm是一个JavaBean,负责验证和封装用户输入的数据。Struts1提供了丰富的标签库来辅助表单处理。 - **Struts2**: 直接使用Action来处理表单数据,不再需要...
6. **异常处理**:当表单验证失败或其他错误发生时,Struts提供了异常处理机制,可以在`struts-config.xml`中配置全局或特定Action的错误页面。 7. **拦截器**:Struts的拦截器机制允许在Action调用前后添加自定义...
例如,JSTL的`<c:set>`标签可以用来设置变量,`<s:action>`在Struts2中用于执行Action,而Spring的`<form:form>`可以创建带有模型绑定和验证的表单。通过深入理解这些API,开发者可以写出更优雅、更高效的代码。 总...
- **Struts1**: 主要依赖JSP页面作为视图展示,同时支持使用JSTL标签库来简化页面逻辑。 - **Struts2**: 支持更多的视图层技术,如FreeMarker、Velocity等模板引擎。此外,Struts2还提供了一个强大的ValueStack机制...
此外,Struts还提供了国际化、异常处理、表单验证等功能,提高了代码的组织性和可重用性。 Servlet是Java平台上的服务器端组件,用于接收HTTP请求并生成响应。在图书管理系统中,Servlet可能被用来处理数据库交互,...
2. **BeanUtils与Struts的交互**:在Struts中,ActionForm对象通常用来接收和验证用户的输入,BeanUtils可以方便地将表单数据自动绑定到ActionForm中,减少了手动设置属性的繁琐工作。同时,通过BeanUtils,开发者...
### Struts2 与 Struts1 的核心区别 #### 一、架构设计及Action实现...综上所述,Struts2相比Struts1在架构设计、线程安全性、输入处理、表单验证等方面进行了大量的改进和优化,使得其更适合现代Web应用的开发需求。
表达式语言(EL)方面,Struts1使用JSTL EL,功能相对较弱,而在Struts2中,它支持更强大的OGNL,允许更灵活的对象图遍历和操作。 视图层的绑定方面,Struts1依赖标准JSP机制,而Struts2引入了ValueStack技术,使得...
- **Struts1**使用ActionForm中的方法来转换表单提交的数据到对应的Java类型,通常通过`String`类型的属性进行转换。 - **Struts2**使用OGNL表达式来进行类型转换,提供了一套更为统一且强大的转换机制,大大简化了...
在探讨Struts2与Struts1的区别时,我们需深入理解这两个框架的设计理念、架构模式以及它们在实际应用中的表现差异。以下将从多个角度详细分析这两种流行Java Web框架的不同之处。 ### 1. **Action类的区别** #### ...
综上所述,Struts2.x相对于Struts1.x在多个方面进行了改进和优化,包括但不限于Action的实现方式、工作流程、数据绑定、视图技术以及验证机制,这些改进共同构成了Struts2.x相较于Struts1.x的优势,使其成为现代Web...
**Struts1**主要使用标准的JSP页面作为视图层,页面上的数据展示和逻辑控制主要通过JSTL标签库来实现。 **Struts2**除了支持JSP页面外,还提供了更为强大的`ValueStack`机制,该机制能够更方便地在页面上访问数据和...
9. **Interceptor**:拦截器是Struts1中实现AOP(面向切面编程)的重要机制,可以定义在请求处理之前和之后执行的逻辑,例如日志记录、权限检查等。 10. **Struts标签库**:Struts1提供了丰富的JSP标签,如、等,...
Struts2也支持ActionForm模式,并且可以通过RichValidation和taglib来方便地实现表单验证和数据显示。 #### 六、表达式语言 **Struts1:** Struts1支持JSTL(JavaServer Pages Standard Tag Library),并且可以...
从 Struts1 升级到 Struts2: 1、Struts1 里使用 ActionServlet 作为控制器; Struts2 使用了一个过滤器作为控制器 2、Struts1 中每个 ...5、Struts2 在页面里使用 OGNL 来显示各种对象模型, 可以不再使用 EL 和 JSTL